diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs index 8e6802e751..c70c01b246 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using Hangfire; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; @@ -13,6 +14,12 @@ namespace Volo.Abp.BackgroundJobs.Hangfire )] public class AbpBackgroundJobsHangfireModule : AbpModule { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddTransient(serviceProvider => + serviceProvider.GetRequiredService().Get()); + } + public override void OnPreApplicationInitialization(ApplicationInitializationContext context) { var options = context.ServiceProvider.GetRequiredService>().Value; @@ -29,4 +36,4 @@ namespace Volo.Abp.BackgroundJobs.Hangfire return null; } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpDashboardOptionsProvider.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpDashboardOptionsProvider.cs new file mode 100644 index 0000000000..57a055727c --- /dev/null +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpDashboardOptionsProvider.cs @@ -0,0 +1,26 @@ +using System.Linq; +using Hangfire; +using Microsoft.Extensions.Options; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.BackgroundJobs.Hangfire +{ + public class AbpDashboardOptionsProvider : ITransientDependency + { + protected AbpBackgroundJobOptions AbpBackgroundJobOptions { get; } + + public AbpDashboardOptionsProvider(IOptions abpBackgroundJobOptions) + { + AbpBackgroundJobOptions = abpBackgroundJobOptions.Value; + } + + public virtual DashboardOptions Get() + { + return new DashboardOptions + { + DisplayNameFunc = (dashboardContext, job) => + AbpBackgroundJobOptions.GetJob(job.Args.First().GetType()).JobName + }; + } + } +}