我有一個隨installutil.exe一起安裝的.NET 2.0窗口服務。該服務的功能是一個批處理服務,該服務遍歷輸入文件並處理每個記錄並保存輸出文件。當我在Windows服務中啓動服務時,20秒後它說服務沒有響應,所以它停止服務,但是我可以從輸出文件中看到服務運行良好。 我收到的確切消息是:錯誤1053:服務沒有及時響應啓動或控制請求。.NET Windows服務說,即使我知道它正在運行,但沒有響應
我通過註冊表黑客增加了Windows服務超時,但它產生了相同的結果(唯一的區別是接收「無響應」消息需要更長的時間)。
我服務的OnStart方法如下:
protected override void OnStart(string[] args)
{
Producer producer = new Producer();
ThreadStart st = new ThreadStart(producer.Produce);
workerThread = new Thread(st);
workerThread.Start();
}
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new BatchService() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
生產者構造:
public Producer()
{
nMaxConcurentJobs = int.Parse(ConfigurationManager.AppSettings["MaxConcurentJobs"]);
if (ConfigurationManager.AppSettings[TIME_INTERVAL] != null)`
{
sleepTime = int.Parse(ConfigurationManager.AppSettings[TIME_INTERVAL]);
sleepTime *= 1000;
}
}
有什麼我需要通知窗口服務,它的工作?任何幫助將不勝感激,我一直在努力這個好幾天了!
你也可以發佈你的'Main'和'Producer'構造函數嗎? – Brook 2011-04-28 14:16:44
我貼了他們.. – Alex 2011-04-28 14:31:16
我沒有看到一個罪魁禍首,我建議張貼@Steve Townsend建議您的'BatchService'的構造函數。你有一些重要的事情發生在不應該的地方,只需要找到它。 – Brook 2011-04-28 15:18:32