Я пытаюсь использовать библиотеку Microsoft.Hadoop.Avro
для сериализации. Но не удается сериализовать тип ConcurrentDictionary
. Он обрабатывает ConcurrentDictionary
как обычный Dictionary
и ищет метод Add
. Конечно, не существует.
Я пропустил какие-то настройки? Мне пришлось явно установить для «allowNullable» значение true, чтобы строка была нулевой......
Или как я могу расширить сериализатор? Я тоже не нашел никакой информации об этом. Я знаю, что это с открытым исходным кодом, но я не хочу трогать код библиотеки, просто расширить его.
РЕДАКТИРОВАТЬ: Пример класса:
[Serializable]
[DataContract]
public class CacheItem
{
[DataMember]
private ConcurrentDictionary<string, CacheItemEntity> _cacheItemDictionary = new ConcurrentDictionary<string, CacheItemEntity>();
......
}
РЕДАКТИРОВАТЬ от 16/04/2015: Для тех, кто заинтересован, библиотека Microsoft AVRO не поддерживает ConcurrentDictionary до этой даты. И нет подтвержденного плана по его поддержке в ближайшее время.
AvroContractResolver
. Не могли бы вы предоставить пример класса, включая аннотации[DataContract]
для одного из классов, с которым у вас возникли проблемы? - person Alex   schedule 14.04.2015