3

我有一个托管 WCF 服务的 Windows 服务。如果我的 WCF 服务出现问题,我想停止 Windows 服务。我可以尝试通过炮击和使用 net stop 来强制它停止,但有没有“更好”的方法来做到这一点?

WCF 从 Windows 服务以通常的方式运行:

protected override void OnStart(string[] args)
{
    if (serviceHost != null)
    {
        serviceHost.Close();
    }

    ///WCF service hosted
    serviceHost = new ServiceHost(typeof(XXXService));


    serviceHost.Open();
}
4

1 回答 1

1

过去,我们使用“服务主机控制器”类实现了我们的自托管 WCF Windows 服务,该类包含对 ServiceHost 对象的引用,因此负责“启动”/打开和“停止”/关闭服务主机对象。此外,“服务主机控制器”类实现了一个委托,允许托管对象回调控制器并启动正常关闭。

于 2013-10-09T12:44:18.697 回答