gpt4 book ai didi

c# - Windows 服务 : OnStart loop - do I need to delegate?

转载 作者:IT王子 更新时间:2023-10-29 04:37:07 24 4
gpt4 key购买 nike

我有一个 Windows 服务,它每 n 秒扫描一次文件夹以查找更改。尝试启动时出现“服务未及时响应启动命令”。

我在 OnStart 中设置了一个循环,如下所示:

 public void OnStart(string[] args)
{
while (!_shouldExit)
{
//Do Stuff

//Repeat
Thread.Sleep(_scanIntervalMillis);
}
}

这是导致错误的原因吗?我应该委托(delegate)这个方法吗?

最佳答案

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
}

关于c# - Windows 服务 : OnStart loop - do I need to delegate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com