2010-02-08 74 views
2

我已經使用Visual Studio 2008在C#中構建了Windows服務。我已經構建它,導航到使用Visual Studio命令提示符存儲它的文件夾,並使用命令:installutil MyWindowsService.exe。它安裝得很好,我可以在服務管理器中看到它。但是,當我運行它時,它不會執行我的任何代碼。該代碼應該發送一封電子郵件到我的Gmail地址,以確認它確實可行。我已經在控制檯應用程序中測試了這段代碼,它工作得很好。然而,該服務不會執行它。安裝和啓動後,Windows服務將不會執行代碼

任何想法,我應該嘗試什麼?

在此先感謝。

+0

是否有錯誤或異常? – Oded 2010-02-08 19:49:43

回答

2

在什麼帳戶權限下安裝服務?如果是本地服務,這可能會解釋您的問題,因爲我不相信本地服務允許網絡訪問。如果您需要網絡訪問權限,則需要爲服務用戶使用網絡服務,但請注意,當您這樣做時,您放棄了本地服務器的某些管理權限。

作爲服務信任模型的一部分,您可以在沒有網絡權限的本地計算機上擁有非常好的權利,或者在本地計算機上擁有嚴格限制權限的網絡權限。

如果您同時需要,那麼您必須讓您的服務作爲本地創建的用戶運行,您可以在其中自行控制權限。

+0

結果發生了什麼事是,它安裝在(LocalHost)下的用戶帳戶不允許網絡連接。你完全正確。謝謝。 – 2010-02-16 01:46:33

4

檢查事件查看器的錯誤。如果這不會導致問題,請在您的OnStart()方法中添加Debugger.Break(),以便在服務啓動後立即連接調試器。