Windows Services: OnStart loop - do I need to delegate?

十年热恋 提交于 2019-11-27 18:49:36

OnStart should only start the work; it isn't responsible for doing it. This typically means spawning a new thread to do the actual work. It is expected that OnStart completes promptly. For example:

    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
    }

The OnStart method shouldn't block. You need to spawn a worker thread that will do the job. You could also take a look at the FileSystemWatcher class to scan for file system change notifications.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!