.net 4.5正确的Windows服务启动方法
本文关键字:Windows 服务 启动 方法 net | 更新日期: 2023-09-27 18:28:26
既然任务似乎是实现大多数多线程的公认方式,那么这现在是编写windows服务启动方法的"正确"方式吗?
start方法会很快完成,但我是Tasks的新手,希望确保这是实现服务工作的正确方法。
我已经测试过了,它似乎有效,但我想知道这种方法是否有副作用。
protected override void OnStart(string[] args)
{
Task.Run(() => MyServiceThingsToDo());
}
private void MyServiceThingsToDo()
{
// all the stuff I want to do like read from database, send alerts
// even start other tasks
}
我查阅了常见的来源,找不到任何来源(MSDN或其他)明确指出这是现在构建服务的正确方式。
我在企业应用程序中使用过它,它工作起来没有问题:
_messageQueueWatcher = new Task(_engineService.StartMessageQueueWatcher, _cancelTokenSource.Token, TaskCreationOptions.LongRunning);
_messageQueueWatcher.Start();
我通过异步调用OnStart(string[]args){}