我有一個Windows服務,我正在嘗試調試。現在,即使當前的代碼用於工作,它也無法啓動。錯誤是:Windows服務將無法啓動(錯誤1053)
Windows不能在本地計算機
錯誤1053年上啓動的MyService服務:該服務沒有啓動或控制及時 請求作出迴應。
爲了找出這個錯誤,我試着評論一切。主要方法如下:
TextWriter tt = new StreamWriter(@"C:\startup.text", true);
tt.WriteLine("Starting up the service");
tt.Close();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
TextWriter tt2 = new StreamWriter(@"C:\startup.text", true);
tt2.WriteLine("Run...");
tt2.Close();
它將「啓動服務」和「運行...」打印到日誌文件中。我也剝離了MyService的內部,因此它是空的。圍繞任何代碼都有一個try/catch,現在將其縮減爲上面的一些日誌行。我從來沒有輸入catch語句,它會記錄它。在OnStart中
一切已被註釋掉:
protected override void OnStart(string[] args)
{
}
所以我基本的想法。我以爲這個錯誤是因爲Start方法從未結束(或者不在30秒內)。有沒有其他方法被調用?任何想法都表示讚賞。
額外信息: MyService中的構造函數爲空。如果我插入一些Thread.Sleep(5000)行,那麼彈出關於錯誤1053的錯誤消息需要更長的時間。 Main方法似乎必須退出(沒有錯誤)。
確保你捕獲所有未處理的異常並寫入米到你的日誌。例如:http://stackoverflow.com/questions/58280/unhandledexception-handler-in-a-net-windows-service ...這可能會給你更多的信息,爲什麼它失敗。 –