繁体   English   中英

调试停止Windows服务

[英]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通道,在我通过停止调试终止该进程之后,该通道似乎占用了套接字。 当我停止调试或服务停止时,如何关闭此套接字。 我尝试在服务析构函数以及OnStopOnShutdown方法中设置断点,但是没有调用它们。

据我所知,当您在Visual Studio中结束调试时,该过程只是在没有调用终结器的情况下被杀死,甚至位于finally块中的代码也不会执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM