Files
Yi.Admin/Yi.Framework.Net6/Yi.Framework.XUnitTest/Startup.cs

82 lines
2.8 KiB
C#
Raw Normal View History

2022-12-14 00:14:22 +08:00
using System;
using System.Collections.Generic;
using Autofac.Extensions.DependencyInjection;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Quartz;
using Yi.Framework.WebCore.AutoFacExtend;
using Microsoft.AspNetCore.Builder;
using Yi.Framework.WebCore.DbExtend;
2022-12-14 23:27:54 +08:00
using Microsoft.AspNetCore.Hosting;
2023-01-01 23:06:11 +08:00
using Yi.Framework.WebCore.AspNetCoreExtensions;
2022-12-14 00:14:22 +08:00
namespace Yi.Framework.XUnitTest
{
public class Startup
{
public void ConfigureHost(IHostBuilder host)
{
host.ConfigureAppConfiguration(builder =>
{
builder.AddJsonFile("appsettings.json");
2023-01-01 23:51:05 +08:00
//builder.AddJsonFile("appsettings.Development.json");
2022-12-14 00:14:22 +08:00
});
host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
{
#region
//交由Module依赖注入
#endregion
containerBuilder.RegisterModule<CustomAutofacModule>();
#region
//添加属性注入模块
#endregion
//containerBuilder.RegisterModule<PropertiesAutowiredModule>();
#region
//使用AppService特性优雅的进行自动依赖注入,仓储与基类服务便是使用该种方式自动注入
#endregion
containerBuilder.AddAutoIocService("Yi.Framework.Repository", "Yi.Framework.Service");
});
host.ConfigureServices(services => { });
}
2022-12-16 16:00:36 +08:00
private IServiceCollection _iServiceCollection=null!;
2022-12-14 00:14:22 +08:00
public void ConfigureServices(IServiceCollection services, HostBuilderContext host)
{
services.AddIocService(host.Configuration);
2022-12-16 16:00:36 +08:00
ConfigureTrueServices(services);
2022-12-14 23:27:54 +08:00
_iServiceCollection = services;
}
2023-01-01 23:51:05 +08:00
/// <summary>
/// 这里配置服务
/// </summary>
/// <param name="services"></param>
2022-12-16 16:00:36 +08:00
public void ConfigureTrueServices(IServiceCollection services)
2022-12-14 23:27:54 +08:00
{
2022-12-14 00:14:22 +08:00
services.AddQuartzService();
services.AddSqlsugarServer();
2022-12-14 23:27:54 +08:00
_iServiceCollection = services;
2022-12-14 00:14:22 +08:00
}
2023-01-01 23:51:05 +08:00
/// <summary>
/// 这里兼容配置管道
/// </summary>
/// <param name="services"></param>
2022-12-14 00:14:22 +08:00
public void Configure(IServiceProvider services)
{
2022-12-14 23:27:54 +08:00
var appBuild = WebApplication.CreateBuilder();
appBuild.WebHost.ConfigureServices(sc =>
{
2022-12-16 16:00:36 +08:00
ConfigureTrueServices(sc);
2022-12-14 23:27:54 +08:00
});
2022-12-14 00:14:22 +08:00
2022-12-16 16:00:36 +08:00
var app = appBuild.Build();
app.UseDbSeedInitService();
2022-12-14 00:14:22 +08:00
}
}
}