【发布时间】:2012-06-29 09:18:36
【问题描述】:
我正在 VS2010 中调试 Windows 服务:
static void Main()
{
#if (DEBUG)
var s1 = new Service1();
s1.Start();
Thread.Sleep(Timeout.Infinite);
#else
ServiceBase.Run(new ServiceBase[]
{
new Service1()
});
#endif
}
这让我可以在调试器中运行服务。问题是,在启动时,服务打开了一个 WCF 通道,在我通过停止调试终止进程后,该通道似乎占用了一个套接字。当我停止调试或服务停止时,如何关闭此套接字。我尝试在服务析构函数以及OnStop 和OnShutdown 方法中设置断点,但没有调用它们。
【问题讨论】:
-
您是否使用 Windows 服务自托管 WCF Web 服务,对吗?
-
我在 Windows 服务中托管 WCF 服务,是的。
-
你使用什么样的绑定?
标签: c# .net wcf windows-services