Rob*_*ett 20 .net c# windows-services
我有一个Windows服务,每n秒扫描一个文件夹进行更改.当我试图启动它时,我得到"服务没有及时响应启动命令".
我在OnStart中有一个循环启动,如下所示:
public void OnStart(string[] args)
{
while (!_shouldExit)
{
//Do Stuff
//Repeat
Thread.Sleep(_scanIntervalMillis);
}
}
Run Code Online (Sandbox Code Playgroud)
这是导致错误的原因吗?我应该委托这种方法吗?
Mar*_*ell 40
OnStart应该只开始工作; 它不负责这样做.这通常意味着产生一个新线程来完成实际工作.预计OnStart会迅速完成.例如:
public void OnStart(string[] args) // should this be override?
{
var worker = new Thread(DoWork);
worker.Name = "MyWorker";
worker.IsBackground = false;
worker.Start();
}
void DoWork()
{
// do long-running stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17439 次 |
| 最近记录: |