在 Service Fabric 的预 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
方法在 GA 版本中已被删除。我一直在努力让一些东西代替它。目前我正在打电话
StateManager.TryAddStateSerializer(new KFOBinarySerializer());
来自服务的 RunAsync
方法,该方法似乎工作正常。
- 注册自定义序列化程序的推荐方法是什么?
TryAddStateSerializer
已弃用。有人知道这是因为自定义序列化支持将消失还是只是通过其他机制来支持?
最佳答案
您可以在 StatefulService
的构造函数中创建状态管理器(完整示例 here ):
class MyService : StatefulService
{
public MyService(StatefulServiceContext serviceContext)
: base(serviceContext, CreateReliableStateManager()) { }
private static IReliableStateManager CreateReliableStateManager() { ... }
}
关于已弃用的 API,微软表示可以安全使用,但将来会发生变化。
关于azure-service-fabric - 使用 StateManager 注册自定义序列化器的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36784086/