Service Fabric Actor备份可在1个actor上工作,而在所有其他actor上失败

时间:2019-08-30 14:36:13

标签: azure-service-fabric service-fabric-actor

我有一个SF应用程序,在一个常见项目中部署了5个参与者。我需要备份这些参与者的状态。

现在,我在单节点开发集群上。 我遵循了doc的说明,并且1个actor可以完美地工作,备份和还原。当我尝试对其他角色执行相同操作时,备份将失败。失败的actor的Actor服务未附加到我的扩展actor服务上,而是附加到了基础actor服务上,因此当我尝试调用备份逻辑时,出现“接口未实现”异常。

如果我一步一步调试actor方法并观察ActorService属性,我会确认它没有附加到扩展类中,这是使用基类的:

Microsoft.ServiceFabric.Actors.Runtime.ActorService

工作的演员具有我扩展类类型的ActorService:

ExtActorService.MyActorService

我对所有演员都做完全相同的事情,为什么有些演员没有在自定义类中注册?

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。 代码是正确的,是Visual Studio没有将更新的软件包正确发布到群集中。即使由于某种原因我没有构建错误,VS仍将相同的旧软件包发布到群集中。我删除了集群管理器上的整个项目,并在VS中对其进行了重建,然后再次进行了部署,这时所有参与者都可以正常运行并进行备份和还原。问题解决了。