Service Fabric模型部分数据丢失

时间:2018-03-30 22:03:41

标签: azure azure-service-fabric service-fabric-stateful

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

我们最近有一个代码更新,它更改了存储在字典中的其中一个模型的命名空间和程序集,但是数据协定本身没有改变。

在:

ReliableDictionary

后:

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

      // Shortened for clarity.
   }
}

有没有办法更改模型的程序集/命名空间可能会导致可靠字典出现问题?

1 个答案:

答案 0 :(得分:1)

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

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

我没有尝试过它,但我认为如果你在datacontract属性中指定名称和命名空间,那么它们将采用序列化格式而不是类和程序集命名空间,以便以后对类的任何更改都会赢得#39 ; t影响序列化格式 - 但这只是基于我习惯使用WCF而不是任何与结构相关的推测。