Windows服务:OnStart循环-我需要委托吗?我有一个Windows服务,每n秒扫描一次文件夹的更改。当我尝试启动它时,我得到“服务没有及时响应启动命令”。我在OnStart中设置了一个循环,如下所示:publicvoidOnStart(string[]args){while(!_shouldExit){//DoStuff//RepeatThread.Sleep(_scanIntervalMillis);}}这是导致错误的原因?我应该委托给这个方法吗?OnStart应该只开始工作;它不负责这样做。这通常意味着生成一个新线程来完成实际工作。预计OnStart将很快完成。例如:publicvoidOnStart(string[]args)//这应该被覆盖吗?{varworker=newThread(DoWork);worker.Name="我的工人";worker.IsBackground=false;工人.开始();}voidDoWork(){//做长时间运行的事情}OnStart方法不应该阻塞。您需要生成一个可以完成这项工作的工作线程。您还可以查看FileSystemWatcher类以扫描文件系统更改通知。以上是C#学习教程:Windows服务:OnStart循环——我需要委托吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
