我有一個應用程序,我已經測試過作爲控制檯應用程序工作。 我現在已經將它轉換爲Windows服務,安裝它,運行它,它仍然可以工作。Windows服務始終「開始」
但是,它始終具有Starting
的狀態。似乎沒有任何邏輯標誌在ServiceBase
上設置。
我已經使用bool isRunning
標誌設置了該服務,並且該程序在 while (isRunning) {}
塊中運行。
我有一個應用程序,我已經測試過作爲控制檯應用程序工作。 我現在已經將它轉換爲Windows服務,安裝它,運行它,它仍然可以工作。Windows服務始終「開始」
但是,它始終具有Starting
的狀態。似乎沒有任何邏輯標誌在ServiceBase
上設置。
我已經使用bool isRunning
標誌設置了該服務,並且該程序在 while (isRunning) {}
塊中運行。
你是否阻止了OnStart
的回報?
通常會從那裏產生一個線程來完成工作,並讓該方法返回。
聽起來好像你沒有在啓動階段交付運行。
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new myservice() };
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += UnknownExceptionHandler;
Run(ServicesToRun);
}
聽起來好像你已經在OnStart()事件中運行'while'循環,這意味着它永遠不會退出。這可能是問題嗎? – Darksider 2010-11-30 04:30:18