using Hangfire; using Hangfire.Redis; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; using Volo.Abp.BackgroundJobs; using Volo.Abp.BackgroundJobs.Hangfire; using Volo.Abp.Modularity; using Zzz.Options; namespace Zzz { [DependsOn( typeof(ZzzApplicationModule), typeof(ZzzDomainTestModule), typeof(ZzzApplicationContractsModule), typeof(AbpBackgroundJobsHangfireModule) )] public class ZzzApplicationTestModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { ConfigureHangfire(context.Services); } /// /// 注入Hangfire服务 /// /// private void ConfigureHangfire(IServiceCollection services) { Configure(options => { options.IsJobExecutionEnabled = false; }); var redisConnectionString = services.GetConfiguration().GetSection("Cache:Redis:ConnectionString").Value; var redisDatabaseId = Convert.ToInt32(services.GetConfiguration().GetSection("Cache:Redis:DatabaseId").Value); // 启用Hangfire 并使用Redis作为持久化 services.AddHangfire(config => { config.UseRedisStorage(redisConnectionString, new RedisStorageOptions { Db = redisDatabaseId }); }); JobStorage.Current = new RedisStorage(redisConnectionString, new RedisStorageOptions { Db = redisDatabaseId }); } } }