2009-07-08 50 views
2

我寫了一個C#中的Windows服務,它將wav文件轉換爲mp3,然後將它們存儲在遠程服務器上。在我的開發平臺(操作系統:WinXP SP3)上,服務啓動正常,並按照預期的方式運行。服務永久「開始」狀態

當我在生產機器(OS:WinServer 2000)上安裝它時,在啓動服務時無法及時啓動,並保持恆定的「啓動」狀態。該程序顯然工作,雖然文件正在轉換和傳輸。

我的預感是問題出在計時器組件上,我認爲在Windows 2000 Server計算機上,計時器可能會導致系統將程序註冊爲「正在啓動」。

有什麼我錯過了Windows Server 2000嗎?

+0

您使用的是什麼版本的.NET? – 2009-07-08 00:12:30

回答

3

我不熟悉在.NET中編寫服務,但通常,用於啓動服務和報告其初始狀態的線程不應該是執行實際工作的線程。該服務應該產生一個工作者線程,這樣入口點可以快速地將狀態返回給SCM。