【问题标题】:Accessing Reliable Collections across different stateful services跨不同的有状态服务访问可靠集合
【发布时间】:2018-02-19 14:40:58
【问题描述】:

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

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

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

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

var enum = allEmployees.GetAsyncEnumerator()

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

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

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

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

【问题讨论】:

标签: collections azure-service-fabric


【解决方案1】:

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

【讨论】:

  • 谢谢托德。我就是这么想的。
猜你喜欢
  • 1970-01-01
  • 2016-04-18
  • 2016-08-04
  • 2016-12-04
  • 2018-03-11
  • 2017-12-01
  • 2016-05-03
  • 2017-06-22
  • 1970-01-01
相关资源
最近更新 更多