我對Windows服務和線程有點新,所以我希望我不會在這裏犯一個明顯的錯誤。我有一個應用程序,用於在C#中運行各種網絡維護類型活動。該應用程序在我的本地機器上完美工作,我決定我希望它作爲一個Windows服務運行,所以使用相同的代碼進行了適當的更改,並再次在我的本地機器上工作。Windows服務不執行代碼
當我通過網絡上的服務器端口時,出現了問題。非Windows服務代碼再次運行良好並按預期運行。然而,Windows服務代碼似乎什麼都不做。該進程安裝正常,並開始/停止罰款,但沒有任何代碼似乎正在執行,任何幫助調試Visual Studio中的Windows服務也將不勝感激。這是我的OnStart過程中的代碼,似乎沒有執行。
smThread = new Thread(delegate() { sm.RunServerMonitor(ref run); });
smThread.Start();
dailyThread = new Thread(delegate() { dailyEvents(); });
dailyThread.Start();
由於非Windows服務代碼的工作,我不相信我遇到的權限類型的問題,除非有需要進行設置,以使服務能夠遠程執行任務,比我需要不同的權限爲簡單的C#代碼做同樣的事情。
謝謝, 馬特
你能告訴我們你用來連接服務的代碼嗎?當你說windows服務時,你的意思是一個WCF服務? –
它可能是許可問題。運行服務的帳戶是什麼?您的桌面應用程序可以以管理員身份運行,該服務可以作爲不具有權限的另一個運行。 – urlreader
如果您運行的是WCF Web服務,則可能需要更改應用程序池帳戶設置。默認的IIS_IUSR帳戶沒有很多權限。你運行WCF嗎? –