我创建了我的根演员:
topicRootActor = actorSystem.ActorOf(actorSystem.DI().Props<RootActor>(), typeof(RootActor).Name + '.' + topic);
topicRootActor.Tell(initMessage);
当它由于永久连接失败或其他原因而停止时,我想停止应用程序。
我的想法是停止root actor,然后在PostStop覆盖中调用Context.System.Terminate。问题是ActorSystem的创建者将如何知道演员系统终止?
答案 0 :(得分:1)
我相信你应该能够使用actorSystem.WhenTerminated
,这是ActorSystem上的一个属性,它返回一个Task
,当ActorSystem关闭时它就会完成。
如果您对此进行了延续,或等待它,您应该能够干净地关闭您的应用程序。