2010-11-30 145 views
1

我有一個應用程序,我已經測試過作爲控制檯應用程序工作。 我現在已經將它轉換爲Windows服務,安裝它,運行它,它仍然可以工作。Windows服務始終「開始」

但是,它始終具有Starting的狀態。似乎沒有任何邏輯標誌在ServiceBase上設置。

我已經使用bool isRunning標誌設置了該服務,並且該程序在 while (isRunning) {}塊中運行。

+2

聽起來好像你已經在OnStart()事件中運行'while'循環,這意味着它永遠不會退出。這可能是問題嗎? – Darksider 2010-11-30 04:30:18

回答

8

你是否阻止了OnStart的回報?

通常會從那裏產生一個線程來完成工作,並讓該方法返回。

0

聽起來好像你沒有在啓動階段交付運行。

static void Main() 
    { 
    ServiceBase[] ServicesToRun; 
    ServicesToRun = new ServiceBase[] { new myservice() }; 
    AppDomain currentDomain = AppDomain.CurrentDomain; 
    currentDomain.UnhandledException += UnknownExceptionHandler; 
    Run(ServicesToRun); 
    }