2011-03-28 87 views
0

我有一個很好的httpListener exe文件。我現在需要做的是使它成爲一種服務(我認爲),以便服務器重新啓動時,該程序將自動啓動。我發現了一些用於製作服務的教程,我安裝了一個,但是當我開始使用時,它說需要很長時間才能做出響應。我在想這可能是因爲我有一段時間在onStart方法中的真循環。httpListener作爲Windows服務

任何人有任何想法?

回答

1

如果服務onStart事件只是潛入業務邏輯,則事件永不結束,所以服務不會完成啓動。我沒有VB.NET示例,但我的方法是在IniializeComponent事件中創建一個計時器,並以小的時間間隔完成並連接一個timer.elapsed事件。

OnStart事件然後在其中有一行代碼來啓動計時器。服務啓動完成後,該服務在Timer.Elapsed事件觸發時開始工作。

+0

我無法在一段時間內完成它,因爲http post請求可能隨時進入。在想了一整晚之後,我需要的是一個exe文件,當windows啓動並運行在後臺並最小化到任務欄時,就像一個反病毒程序一樣。我想我會考慮這條路線。 – spuppett 2011-03-29 13:26:42

+0

這也不完全是。我只是將程序添加到服務器上的啓動文件夾中,然後重新啓動並嘗試在另一臺計算機上發送請求,但沒有啓動它。然後,我遠程登錄到服務器,我看到程序啓動,然後發送請求,並抓住它。然後我註銷,程序停止。我需要永遠在線,無論是否有人登錄,如IIS或SQL Server,但我不認爲它可以在計時器上。 – spuppett 2011-03-29 13:53:56

+0

我終於搞定了。將exe添加爲在啓動時啓動的計劃作業。 – spuppett 2011-03-30 12:42:55

0

如果沒有更多信息(例如,你在做什麼),直接回答這個問題是不可能的。但是,這應該不是必需的,因爲您應該能夠通過將調試器附加到正在運行的服務來進行調試,如here所述。