Files
Temp_MSSPLASHPage/SplashPage.Benchmarks/MyConsoleAppModule.cs

54 lines
1.7 KiB
C#

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<IEventBus>().Instance(NullEventBus.Instance)
)
);
}
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(typeof(MyConsoleAppModule).GetAssembly());
ServiceCollectionRegistrar.Register(IocManager);
}
}
}