Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 承载WCF的Windows服务-我可以从WCF服务中停止Windows服务吗?_C#_Wcf_Service - Fatal编程技术网

C# 承载WCF的Windows服务-我可以从WCF服务中停止Windows服务吗?

C# 承载WCF的Windows服务-我可以从WCF服务中停止Windows服务吗?,c#,wcf,service,C#,Wcf,Service,我有一个承载WCF服务的Windows服务。如果我的WCF服务出了问题,我想停止Windows服务。我可以尝试通过炮击和使用网络停止来迫使它停止,但有没有更好的方法来做到这一点 WCF以通常的方式从windows服务运行: protected override void OnStart(string[] args) { if (serviceHost != null) { serviceHost.Close(); } ///WCF service

我有一个承载WCF服务的Windows服务。如果我的WCF服务出了问题,我想停止Windows服务。我可以尝试通过炮击和使用网络停止来迫使它停止,但有没有更好的方法来做到这一点

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

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

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


    serviceHost.Open();
}

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

我想您可能需要看看:`