![]() |
1
3
从runasync返回将以runasync结束代码(表示完成),因此sf不会再次启动runasync(例如,如果返回异常,则会)。runasync完成不会导致 服务 删除。例如,如前所述,服务可以通过后台工作完成,但仍在侦听传入的消息。 关闭服务的最佳方法是调用DeleteServiceAsync。这可以由服务本身或另一个服务完成,也可以从集群外部完成。服务可以自我删除,因此对于完成工作的服务,我们通常将wait-deleteserviceasync视为runasync的最后一行,之后该方法将退出。比如:
目标是确保如果您的服务确实完成了工作,它将自己清理干净,但不会由于其他原因触发自己的删除操作,例如由于某些升级或群集资源平衡而关闭CancellationToken。 |
![]() |
2
1
如前所述,从runasync返回只会结束此方法,但服务将继续运行,因此不会被删除。
在任何情况下-解决方案都很简单-只需执行以下操作:
然后,在我的runasync方法的最后一行中,我调用:
这个
|