using Abp.Events.Bus; using Abp.Modules; using Abp.Reflection.Extensions; using Castle.MicroKernel.Registration; using Microsoft.Extensions.Configuration; using VberAdmin.Migrator.DependencyInjection; using VberAdmin.Web; using VberZero; using VberZero.Configuration; using VberZero.Workflow; namespace VberAdmin.Migrator; [DependsOn(typeof(VberAdminEfModule))] public class VberAdminMigratorModule : AbpModule { private readonly IConfigurationRoot _appConfiguration; public VberAdminMigratorModule(VberZeroModule vberZeroModule) { var path = WebContentDirectoryFinder.CalculateContentRootFolder(); _appConfiguration = AppConfigurations.Get(path); vberZeroModule.IsSkip = true; } public override void PreInitialize() { Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(VberAdminConsts.ConnectionStringName); //关闭工作流注册 Configuration.GetWorkflowConfiguration().IsEnabled = false; //关闭后台任务 Configuration.BackgroundJobs.IsJobExecutionEnabled = false; Configuration.ReplaceService( typeof(IEventBus), () => IocManager.IocContainer.Register( Component.For().Instance(NullEventBus.Instance) ) ); } public override void Initialize() { IocManager.RegisterAssemblyByConvention(typeof(VberAdminMigratorModule).GetAssembly()); ServiceCollectionRegistrar.Register(IocManager); } }