我在使用ServiceStack.Redis存储包含字典的对象时遇到问题。我试图存储的对象定义如下:
public class Feed
{
public Guid ID { get; set; }
public String Title { get; set; }
public String Description { get; set; }
public Object Details { get; set; }
public Int32 SortOrder { get; set; }
public Image Picture { get; set; }
public String FeedType { get; set; }
public long ArticleCount { get; set; }
public String ParentTheme { get; set; }
public Guid ParentThemeID { get; set; }
public Boolean IsFavourite { get; set; }
public Boolean? Hidden { get; set; }
public Dictionary<String, String> ExtendedProperties { get; set; }
}
虽然大多数对象都被正确序列化,但是Dictionary属性(ExtendedProperties)没有被序列化。
我尝试过设置JsConfig.IncludePublicFields = true但它似乎没有任何区别。
最令我困惑的是,似乎字典在某些时候是序列化的(大多数情况下,当我在调试器中单步调试代码时)但不可重现。
有没有人对如何使字典成功序列化有任何建议(除了使用Newtonsoft.Json将对象序列化为盯着,然后将该指向存储在Redis中)
非常感谢,
理查德。