退出后wcfsvchost进程仍在运行

时间:2013-01-31 09:15:15

标签: c# .net wcf

我有一个客户端应用程序,它与服务器交互,这是一个WCF服务。我遇到了一个问题:我使用这样的命令通过命令行启动我的服务:

start WcfSvcHost.exe /service:SodisWebServer.dll /config:SodisWebServer.dll.config

在托盘中我有一个WCFSvcHost.exe的图标。当我按下它上面的退出按钮时,我希望我的服务器关闭,但是当我尝试重新启动它时,我抓住了AddressAlreadyInUseException,因为在服务ip +端口上有一个监听器,在我按下WCFSvcHost上的Exit后。 exe进程仍在运行。

如果有任何帮助,我将非常感激。

1 个答案:

答案 0 :(得分:0)

如果进程没有关闭,它可能正在等待通道关闭,因为抛出异常等等。

另一个典型原因是,如果您通过“服务库”项目类型创建了WCF服务,Visual Studio IDE将使用内部WCFSVCHost工具来测试服务库。如果VS正在运行,那么WCFSVCHost的另一个实例可能正在运行,即使你关闭了手动启动的那个(但是在第一次尝试运行主机后你会收到它)。

以防万一我建议你在项目属性中取消选中标有“在同一个解决方案中调试另一个项目时启动WCF服务主机”的框,或者尝试构建一个控制台应用程序来托管WCF服务测试(自托管WCF服务)。