我一直在MSDN上閱讀有關Windows服務的一些樂趣,但我在抓取一些信息時遇到了一些麻煩。如何正確編程一個Windows服務?
我創建了以下在this msdn page步驟一個窗口服務,我注意到他們ommitted是自動生成的部分之一(即,Program.cs中主要的部分)開始服務的集合。我無法理解服務如何實際運行,或者更正確地說,我如何正確編程服務來執行我想要的操作。自動生成的service.cs只有一個構造函數,一個OnStart和OnStop事件方法。我應該在OnStart方法上編寫大量代碼嗎,還是有類似的Main部分用於服務?
我的另一個問題是關於服務的部署。在我提到的頁面中,他們引用了另一個讓我在VS開發人員控制檯上使用installutil的頁面。如果目標平臺沒有開發人員控制檯,我該如何爲服務創建自動安裝程序?
所以OnStart方法將被ServiceBase.Run()調用...在這種情況下,我可以使用OnStart來執行YourServerClass操作,對吧?我只是對程序應該如何運行感到困惑,因爲你還提到OnStart應該「指定服務是如何啓動的」,並且我知道這些約定會使代碼更容易理解。 –
是的,在我剛剛做的一個實現中,我從'OnStart'方法啓動我的WCF服務,並在'OnStop'中關閉它。我的意思是指定服務如何啓動,服務將提供的實際功能是如何啓動的,在我的情況下是WCF服務。 – aevitas