在AspNet Core MVC Web Application中使用ABP
通常情况下你需要下载一个 启动模板
- 使用Visual Studio 2019 (16.4.0+)创建一个新的AspNet Core Web Application:
- 配置新的项目:
- 完成创建:
安装 Volo.Abp.AspNetCore.Mvc 包
ABP是一个模块化框架,它需要一个启动 (根) 模块继承自:
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity;
namespace BasicAspNetCoreApplication
{
[DependsOn(typeof(AbpAspNetCoreMvcModule))]
public class AppModule : AbpModule
{
ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
else
{
app.UseExceptionHandler("/Error");
}
app.UseStaticFiles();
app.UseRouting();
app.UseConfiguredEndpoints();
}
}
}
AppModule
是应用程序启动模块的好名称.
ABP的包定义了这个模块类,模块可以依赖其它模块.在上面的代码中 AppModule
依赖于 AbpAspNetCoreMvcModule
(模块存在于包中). 安装新的ABP的包后添加DependsOn
是很常见的做法.
我们在此模块类中配置ASP.NET Core管道,而不是Startup类中.
services.AddApplication<AppModule>()
添加了所有AppModule
模块中定义的全部服务.
Configure
方法中的app.InitializeApplication()
完成初始化并启动应用程序.
运行应用程序!
启动该应用,它将按预期运行.
虽然AspNet Core的依赖注入(DI)系统适用于基本要求,但提供了属性注入和方法拦截等高级功能,这些功能是ABP执行高级应用程序框架功能所必需的.
- 安装 Volo.Abp.Autofac 包
- 添加 依赖
- 修改
Program.cs
以使用Autofac:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace BasicAspNetCoreApplication
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.UseAutofac(); // 添加这一行
}
源码
从此处获取本教程中创建的示例项目的源代码.