[英]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.