using Abp.Modules; using System.Reflection; using SplashPage.EntityFrameworkCore; using Abp.EntityFrameworkCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using SplashPage.Configuration; using Abp.Reflection.Extensions; using Abp.Events.Bus; using Castle.MicroKernel.Registration; using SplashPage.Benchmarks.DependencyInjection; namespace SplashPage.Benchmarks { //Defining a module depends on AbpEntityFrameworkModule [DependsOn(typeof(SplashPageEntityFrameworkModule))] public class MyConsoleAppModule : AbpModule { private readonly IConfigurationRoot _appConfiguration; public MyConsoleAppModule(SplashPageEntityFrameworkModule abpProjectNameEntityFrameworkModule) { abpProjectNameEntityFrameworkModule.SkipDbSeed = true; _appConfiguration = AppConfigurations.Get( typeof(MyConsoleAppModule).GetAssembly().GetDirectoryPathOrNull() ); } public override void PreInitialize() { Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString( SplashPageConsts.ConnectionStringName ); Configuration.BackgroundJobs.IsJobExecutionEnabled = false; Configuration.ReplaceService( typeof(IEventBus), () => IocManager.IocContainer.Register( Component.For().Instance(NullEventBus.Instance) ) ); } public override void Initialize() { IocManager.RegisterAssemblyByConvention(typeof(MyConsoleAppModule).GetAssembly()); ServiceCollectionRegistrar.Register(IocManager); } } }