跨不同的有状态服务访问可靠集合

时间:2018-02-18 18:42:49

标签: collections azure-service-fabric

我在不同的有状态服务中有几个可靠的集合。我需要从另一个有状态服务中访问一个可靠的集合(例如,来自部门有状态服务的Employees集合)。

尽管Employees集合中填充了数据,但当我尝试获取对集合的引用时

var myDictionary = await this.StateManager.GetOrAddAsync>(“employees”);

var allEmployees = await mydictionary.CreateEnumerableAsync(tx,EnumerationMode.Unordered)

var enum = allEmployees.GetAsyncEnumerator()

allEmployees集合的枚举计数返回0。

当我尝试在Employee有状态服务中访问Employee集合中的员工时,相同的方法正常工作。

当我尝试访问部门有状态服务中的Employee集合中的员工时,这不起作用。

这是跨集合访问数据的正确方法吗?如果不是正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

有状态服务包含它自己的状态,只能通过该服务访问,它不能与其他有状态服务共享。不要把它想象成一个数据库。每个有状态服务都可以包含多个集合或队列,但该服务拥有该状态。如果要公开它,请使用您喜欢的通信堆栈创建API,并从其他服务进行API调用。