服务织物模型部分数据丢失



我们有一个状态服务,可以将数据保存在ReliableDictionary中。我们注意到今天此服务中缺少少量数据。

我们进行了最近的代码更新,该更新更改了词典中存储的一个模型的名称空间和组件,但是数据合同本身没有变化。

之前:

namespace MainProject.StatefulService.Models
{
   [DataContract]
   public class ColorElement
   {
      [DataMember(Name = "Color")]
      private readonly Color color;
      // Shortened for clarity.
   }
}

之后:

namespace MainProject.Models
{
   [DataContract]
   public class ColorElement
   {
      [DataMember(Name = "Color")]
      private readonly Color color;
      // Shortened for clarity.
   }
}

有什么方法可以更改模型的组装/名称空间,可能会在可靠的字典中引起问题?

如下所述:https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric/service-fabric-application-upgrade-upgrade-data-serialization

更改类名称或名称空间将影响您的序列化格式。

我没有尝试过它,但是我认为,如果您在数据合同中指定名称和名称空间,则这些属性将以序列化格式而不是类和汇编名称空间,以便以后对类的任何更改都不会影响序列化格式 - 但这只是基于我与WCF相关的猜测,而不是与任何织物相关的猜测。

最新更新