我想添加一个服务,在系统首次创建时执行一些初始化操作。
我想这将是一个无状态服务(具有集群管理员权限),它应该在完成后自毁。我的印象是退出该RunAsync
功能可以让我表明我已经完成(或处于错误状态)。然而,它仍然在应用程序的上下文中徘徊,并且在它根本没有真正做任何事情时看起来像是“活跃的”。
服务是否可以自行删除?
我想也许我们可以尝试在覆盖中使用FabricClient.ServiceManager
's DeleteServiceAsync
(使用基于服务上下文的参数),OnCloseAsync
但我无法证明这可能有效,而且感觉有点时髦:
var client = new FabricClient();
await client.ServiceManager.DeleteServiceAsync(new DeleteServiceDescription(Context.ServiceName));
有没有更好的办法?