我是 .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);
//.....
}
}
如果您需要更多信息,请告诉我。