[英]Debugging Stopping a Windows Service
我正在使用以下命令在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
方法中设置断点,但是没有调用它们。
据我所知,当您在Visual Studio中结束调试时,该过程只是在没有调用终结器的情况下被杀死,甚至位于finally
块中的代码也不会执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.