我想部署一個提供Web服務並能夠多次啓動它(每個都作爲單獨的Windows服務)的exe文件。 exe的每個實例都需要能夠加載不同的配置文件(例如,它可以偵聽不同的端口或使用不同的數據庫)。如何在服務啓動期間找到我的服務名稱exe
理想情況下,我不想在多個文件夾中安裝exe,只需要有多個配置文件。
但是,似乎沒有找到Windows啓動的服務名稱的方法。
我已經看過 How can a Windows Service determine its ServiceName? 但它似乎並沒有爲我工作,因爲在啓動過程中ID爲正在啓動該服務是0
我想我得太早什麼要求。我的代碼執行以下操作:
主要設置當前目錄並構造一個WebService對象(ServiceBase的子類)
WebService對象構造函數現在需要設置其ServiceName屬性,並使用代碼How can a Windows Service determine its ServiceName?嘗試找到正確的名字。但是,此時正確servicename的processid仍爲0.
接下來,Main將構建一個包含WebService對象的ServiceBase數組,並在該數組上調用ServiceBase.Run。服務名稱在此之前需要正確,因爲服務運行後可能不會更改。