问题描述:
Job项目在输出Log Error日志后主机自动停止
原因分析:
从 .NET 6 开始,当从BackgroundService.ExecuteAsync(CancellationToken)覆盖引发异常时,异常将记录到当前的ILogger中。默认情况下,主机在遇到未处理的异常时停止。
解决方案:
Program文件中需要设置未处理的异常不停止主机的行为
builder.Services.Configure<HostOptions>(hostOptions =>
{
hostOptions.BackgroundServiceExceptionBehavior = BackgroundServiceExceptionBehavior.Ignore;
});