建议使用StateManager注册自定义序列化程序的方法

时间:2016-04-22 03:06:02

标签: azure-service-fabric

在Service Fabric的pre-GA版本中,我正在注册这样的自定义序列化程序:

count

但是,GA版本中删除了 protected override IReliableStateManager CreateReliableStateManager() { IReliableStateManager result = new ReliableStateManager( new ReliableStateManagerConfiguration( onInitializeStateSerializersEvent: InitializeStateSerializers)); return result; } private Task InitializeStateSerializers() { StateManager.TryAddStateSerializer(new KFOBinarySerializer()); return Task.FromResult(false); } 方法。我一直在努力让某些事情取而代之。目前我正在打电话

CreateReliableStateManager

来自服务的StateManager.TryAddStateSerializer(new KFOBinarySerializer());方法,该方法似乎工作正常。

  1. 注册自定义序列化程序的推荐方法是什么?
  2. RunAsync已弃用。任何人都知道这是因为自定义序列化支持会消失,还是只是通过其他机制支持?

1 个答案:

答案 0 :(得分:2)

您可以在StatefulService的构造函数中创建状态管理器(完整示例here):

class MyService : StatefulService
{
   public MyService(StatefulServiceContext serviceContext) 
       : base(serviceContext, CreateReliableStateManager()) { }

    private static IReliableStateManager CreateReliableStateManager() { ... }
}

关于弃用的API,微软表示它可以安全使用,但将来会发生变化。