diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs index b93a5e9353..f58337e400 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Threading; +using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; @@ -17,10 +18,11 @@ public class AbpBackgroundWorkersModule : AbpModule var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled) { - var hostApplicationLifetime = context.ServiceProvider.GetRequiredService(); + var hostApplicationLifetime = context.ServiceProvider.GetService(); + var cancellationToken = hostApplicationLifetime?.ApplicationStopping ?? CancellationToken.None; await context.ServiceProvider .GetRequiredService() - .StartAsync(hostApplicationLifetime.ApplicationStopping); + .StartAsync(cancellationToken); } } @@ -29,10 +31,11 @@ public class AbpBackgroundWorkersModule : AbpModule var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled) { - var hostApplicationLifetime = context.ServiceProvider.GetRequiredService(); + var hostApplicationLifetime = context.ServiceProvider.GetService(); + var cancellationToken = hostApplicationLifetime?.ApplicationStopping ?? CancellationToken.None; await context.ServiceProvider .GetRequiredService() - .StopAsync(hostApplicationLifetime.ApplicationStopping); + .StopAsync(cancellationToken); } } diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkersApplicationInitializationContextExtensions.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkersApplicationInitializationContextExtensions.cs index 6a362b44ae..4f7a65226d 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkersApplicationInitializationContextExtensions.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkersApplicationInitializationContextExtensions.cs @@ -31,8 +31,11 @@ public static class BackgroundWorkersApplicationInitializationContextExtensions if (cancellationToken == default) { - var hostApplicationLifetime = context.ServiceProvider.GetRequiredService(); - cancellationToken = hostApplicationLifetime.ApplicationStopping; + var hostApplicationLifetime = context.ServiceProvider.GetService(); + if (hostApplicationLifetime != null) + { + cancellationToken = hostApplicationLifetime.ApplicationStopping; + } } await context.ServiceProvider