在Ctrl + C

时间:2018-09-19 11:16:07

标签: asp.net-core .net-core

我创建了一个运行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

0 个答案:

没有答案