如何等待WCF释放端口?

时间:2009-08-17 16:00:20

标签: c# wcf

我有一个使用WCF与gui通信的Windows服务。不幸的是,当我想从gui重新启动服务(重新加载配置)时,我收到消息:

  

IP端点0.0.0.0:1111

上已有监听器

我正在使用以下代码重新启动服务:

        if (sc.Status == ServiceControllerStatus.Running)
        {
            sc.Stop();
            sc.WaitForStatus(ServiceControllerStatus.Stopped);
            sc.Start();
        }

问题是服务控制器已经停止状态,WCF仍然没有释放端口。我怎么能等待这种情况发生呢?

1 个答案:

答案 0 :(得分:1)

我一直在努力解决同样的问题。在OnStop方法中,我调用ServiceHost的Close()方法,然后将服务主机本身设置为null。

到目前为止,这样做只会使问题消失......到目前为止。