2016-04-22 76 views
2

自定義序列在服務織物的預GA版本推薦辦法,我註冊自定義序列是這樣的:註冊到StateManager

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); 
    } 

但是,在GA版本除去CreateReliableStateManager方法。我一直在努力找到適合自己的地方。目前我正在從服務的RunAsync方法,這似乎做工精細內調用

StateManager.TryAddStateSerializer(new KFOBinarySerializer());

  1. 註冊自定義序列化程序的建議方法是什麼?
  2. TryAddStateSerializer已棄用。任何人都知道這是因爲自定義序列化支持會消失,還是隻能通過其他一些機制來支持?

回答

2

您可以創建在StatefulService的構造,狀態管理(完整的例子here):

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

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

關於過時的API,微軟表示,它的安全使用,但它會改變未來。