2009-09-30 61 views
2

我有使用Topshelf編寫的Windows服務。我試圖將其配置爲使用具有受限權限的Windows帳戶運行,而不是使用LocalSystem。這也是必要的,因爲我想使用集成身份驗證連接到數據庫。調試不能在限制性帳戶下運行的Topshelf服務

當以LocalSystem身份運行服務時(儘管數據庫連接字符串包含憑據)並運行控制檯應用程序作爲我的受限帳戶(使用runas),該服務也起作用。

然而,當我嘗試啓動服務控制管理器超時等待響應的服務:

的服務沒有及時啓動或控制請求。

我也得到在彈出應用程序事件日誌中的:

應用程序錯誤:未知軟件異常(0xc06d007e)應用程序中發生的位置0x77e4bef7。

,即應用的第一件事是寫入日誌文件,但它沒有達到,當我啓動該服務。如果我通過控制檯運行日誌記錄工程。

任何建議我可能會錯過什麼,或者我可能會嘗試下一步?

+0

我也看到過這個問題。反覆試圖啓動服務失敗,然後一次,它的工作。這導致我相信這是一個時間問題。不知道如何解決它 - 對不起! – 2010-01-28 19:18:40

回答

2

此問題似乎與服務器(域控制器)而不是TopShelf有關。使用.NET服務組件構建的服務也表現出相同的行爲。

服務在另一臺計算機上(在同一個域中)成功運行。

不幸的是,這並沒有幫助診斷問題,但給了我一個可以接受的解決方法。

0

我剛剛開始在用.net 2.0編寫的一些服務中看到這一點。服務器啓動時它們會很好地啓動,但如果我一整天都要重新啓動它們,它們就不會啓動,併發出此錯誤消息。

它們目前運行在具有管理權限的域帳戶上,但對於踢球,我將其切換到本地系統,並且服務正常啓動。我停止了它,將其更改回域帳戶(重新輸入密碼),並按預期再次正常啓動。

不知道這是否是一個'修復'這麼多,但這是對我有用。

相關問題