我创建了一个运行 MVC 的 dotnet core 2.1 应用程序,还添加了一个 BackgroundService (services.AddHostedService())。
它工作正常,但是经常当我按 CTRL+C 时,应用程序退出,但后台服务仍然运行并将调试输出到控制台。
我尝试记录取消令牌的状态,但后台服务经常不会被取消:
protected async override Task ExecuteAsync(CancellationToken cancellationToken)
{
while (!cancellationToken.IsCancellationRequested)
{
Console.WriteLine(cancellationToken.IsCancellationRequested);
await doWork(cancellationToken)
}
}
控制台输出仍然为假...
有人知道为什么取消令牌不传递给后台任务吗?
要运行我的应用程序,我正在执行dotnet run
从命令行
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)