2011-08-23 80 views
0

我正在維護一個Windows服務,它有一個相當不幸的錯誤。我不能再調試代碼,因爲服務只是拒絕啓動。這是錯誤:我的Windows服務無法實例化

Windows could not start the MyService service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

我插入一些日誌到文件的線路中的主要方法,它從來沒有談到過了我的Windows服務的實例。它在行之前停止

ServiceBase.Run(ServicesToRun); 

因此Run方法從不執行。我猜測這是MyService的實例化失敗。但這怎麼可能?

static void Main() 
{ 
     //this line is reached 

     ServiceBase[] ServicesToRun; 
     ServicesToRun = new ServiceBase[] 
     { 
      new MyService() //halts here 
     }; 

     //this line is never executed 
     ServiceBase.Run(ServicesToRun); 
} 
+0

您可以將代碼發佈在MyService構造函數中嗎? – w69rdy

+0

「MyService」的構造函數是什麼樣的? –

+1

您是否在事件查看器中有更多信息?還要確保您正在運行該服務的帳戶具有足夠的權限。 –

回答

0

從上面轉貼回覆:

是的,我在事件查看器的信息。這基本上是一個未處理的異常,因爲我有一個不正確的配置文件。 windows服務應該解析實例化的XML文件,但是缺少一個「>」符號,這意味着它甚至不是有效的XML文件。所以這個課程必須在windows服務的構造函數中有很好的錯誤處理。感謝大家的幫助。

0

我在前幾天發生了這個錯誤。我不知道它是否會爲你解決它,但這裏是我如何解決它:

安裝後,右鍵單擊並轉到屬性。轉到「登錄」選項卡並確保已啓用「允許服務與桌面交互」。 我不知道爲什麼Windows 7似乎需要這個。

相關問題