私は.NETの初心者です。
マルチスレッドを実行しているWindowsサービスアプリケーションについて質問があります。私の質問は、アプリケーションをWindowsサービスに登録しようとすると、サービスウィンドウの「開始中」にサービスステータスが表示されることです。私がやろうとしていることを示すために、数行のコードを含めました。
protected override void OnStart(string [] args) {
timer = Timer(5000);
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Start();
// when I commented out Application.Run() it runs perfect.
Application.Run(); // run until all the threads finished working
//todo
}
private void OnElapsedTime(object s, ElapsedEventArgs e) {
SmartThreadPool smartThreadPool = new SmartThreadPool();
while( i < numOfRecords){
smartThreadPool.QueueWorkItem(DoWork);
//.....
}
}
さらに詳しい情報が必要な場合はお知らせください。