其他分享
首页 > 其他分享> > 【Abp简单使用】模块化(.Net5)

【Abp简单使用】模块化(.Net5)

作者:互联网

模块化

为什么要模块化

如果世界使用 Asp.NetCore 的Startup配置,会随着业务代码越来越多,需要在Startup.cs添加很多与业务有关的配置。模块化后,可以把与架构无关的配置项分散到各个模块下。

模块

[DependsOn(
	typeof(AbpAspNetCoreMvcModule) // Host 需要依赖于这个
    // 在这里添加需要使用的模块依赖,或者根据自己需要调整部分内容到新的模块,新模块也是一样的结构。
)]
public class MyModule:AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        var services = context.Services;
        // 在这里配置原本写在ConfigureServices方法的内容
    }
    public override void OnApplicationInitialization(ApplicationInitializationContext context)
    {
        var app = context.GetApplicationBuilder();
        var env = context.GetEnvironment();
        // 在这里配置原本写在Configure方法的内容
    }
}

Program.cs

var builder = Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
                              {
                                  webBuilder.UseStartup<Startup>();
                              })
    .UseAutofac();

builder.Build().Run();

Startup.cs

// 清空模块原本配置
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // 添加一个应用(模块)
        services.AddApplication<MyProjectNameWebHostModule>();
    }

    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
    {
        app.InitializeApplication();
    }
}

标签:模块,模块化,void,Startup,Abp,context,var,Net5,public
来源: https://www.cnblogs.com/wosperry/p/15522504.html