我试着用 Microsoft.Hadoop.Avro
要进行序列化的库。但它无法序列化 ConcurrentDictionary
类型。它治疗 ConcurrentDictionary
作为常客 Dictionary
并寻找 Add
方法。当然不存在。
我错过了一些设置吗?我必须显式地将“allownullable”设置为true,以允许字符串为null。。。。。。
或者如何扩展序列化程序?我也没有找到任何关于这个的信息。我知道它是开源的,但我不想触及库代码,只是扩展它。
编辑:示例类:
[Serializable]
[DataContract]
public class CacheItem
{
[DataMember]
private ConcurrentDictionary<string, CacheItemEntity> _cacheItemDictionary = new ConcurrentDictionary<string, CacheItemEntity>();
......
}
2015年4月16日编辑:对于感兴趣的人,microsoft avro库至今不支持concurrentdictionary。目前还没有确定的计划来支持它在不久的将来。
1条答案
按热度按时间d5vmydt91#
不可能,对于wire/ipc上的东西,我倾向于使用简单的类型array、string、byte等,甚至datetime和ulong都会给出一些问题,这些问题会让你浪费很多时间去寻找。