2010-11-30 9 views
1

私はコンソールアプリケーションとして動作するようにテストしたアプリケーションを持っています。 これをWindowsサービスに変換してインストールして実行しましたが、それでもジョブは実行されます。Windowsサービスは常に "Starting"

ただし、常にステータスはStartingです。 ServiceBaseに設定する論理フラグはありません。

サービスをbool isRunningフラグで設定しましたが、プログラムは while (isRunning) {}ブロック内で実行されます。

+2

OnStart()イベントで実行中の 'while'ループがあるようです。つまり、終了しないことを意味します。これはおそらく問題でしょうか? – Darksider

答えて

8

OnStartの返品をブロックしていますか?

通常、スレッドはスレッドを生成して処理を行い、メソッドをリターンさせます。

0

スタートアップフェーズで実行をハンドリングしていないかのように聞こえます。

static void Main() 
    { 
    ServiceBase[] ServicesToRun; 
    ServicesToRun = new ServiceBase[] { new myservice() }; 
    AppDomain currentDomain = AppDomain.CurrentDomain; 
    currentDomain.UnhandledException += UnknownExceptionHandler; 
    Run(ServicesToRun); 
    } 
関連する問題