如何在Actor中创建IReliableDictionary?

时间:2016-05-22 14:15:22

标签: azure-service-fabric

Student(const std::string& firstname, const std::string& lastname, const std::vector<int>& scores) : Person(firstname, lastname) { testScores = scores; // uses copy-assignment to initialise testScores } 子类内创建IReliableDictionary时,提供了以下代码段here

StatefulService

我的问题是关于如何为var myDictionary = await this.StateManager. GetOrAddAsync<IReliableDictionary<string, long>>("myDictionary"); 编写类似的代码。 Actor内部只有以下声明支持T值作为第二个参数:

IActorStateManager

问题是我找不到Task<T> GetOrAddStateAsync<T>(string stateName, T value, CancellationToken cancellationToken = default(CancellationToken)); 实现。正确的代码片段应该如何?

1 个答案:

答案 0 :(得分:6)

由于actor的工作方式(基于回合的访问模型,状态复制/持久性等),在actor状态中使用IReliableDictionary并没有多大意义 - 你可以使用普通的Dictionary而且你会使用可靠的集合获得您从有状态服务中获得的所有好处。