我仍然试图让我的思绪Azure Service Fabric Stateful Actors。所以,我的(当前)问题最好放在这样的例子中:
现在,我如何查询这些演员的状态,比如“给我每个被拒绝的演员”,并且属于名字以德国ümlaut开头的用户?那么我如何修补这些演员的状态数据?
我是否真的必须为每个演员添加一个查询方法并唤醒每个演员?或者有没有办法查询坐在他们之上的演员之外的那些状态词典?
答案 0 :(得分:1)
也许你可以考虑在你的actor类中覆盖OnActivateAsync并在那里实现清理逻辑,然后升级你的SF应用程序?
这将防止需要在外部迭代每个单独的实例(因为SF运行时将为您调用OnActivateAsync),并且将确保仅在需要时(仅在需要时为下一次激活时)为每个实例运行逻辑)。
more on Actor activate/deactivate/etc.
祝你好运!
答案 1 :(得分:1)
简短的回答是肯定的,在这样的情况下,你必须唤醒每一个演员(最终)。
如果你已经处于那种状态,我认为JoshL的建议是有道理的。
为避免出现这种情况,您可以将索引字典保留在有状态服务中,并保存您要查询的信息,例如:演员身份和身份(张贴,处理等)。然后你只需唤醒那些相关的演员。
您可以采取两种方法: