1.新建类库WebProject.Application.App
2.添加WebProjectApplicationAppModule.cs
3.注册模块
using Abp.Application.Services; using Abp.AutoMapper; using Abp.Configuration.Startup; using Abp.Modules; using Abp.Reflection.Extensions; using System.Reflection; using WebProject.Authorization; namespace WebProject { [DependsOn( typeof(WebProjectCoreModule), typeof(AbpAutoMapperModule))] public class WebProjectApplicationAppModule : AbpModule { public override void Initialize() { var thisAssembly = typeof(WebProjectApplicationAppModule).GetAssembly(); IocManager.RegisterAssemblyByConvention(thisAssembly); Configuration.Modules.AbpAutoMapper().Configurators.Add( // Scan the assembly for classes which inherit from AutoMapper.Profile cfg => cfg.AddProfiles(thisAssembly) ); } } }
4.在WebProject.Web.Core项目中的WebProjectWebCoreModule.cs中添加依赖和设置生成webapi
using System; using System.Text; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.IdentityModel.Tokens; using Abp.AspNetCore; using Abp.AspNetCore.Configuration; using Abp.AspNetCore.SignalR; using Abp.Modules; using Abp.Reflection.Extensions; using Abp.Zero.Configuration; using WebProject.Authentication.JwtBearer; using WebProject.Configuration; using WebProject.EntityFrameworkCore; namespace WebProject { [DependsOn( typeof(WebProjectApplicationModule), typeof(WebProjectApplicationAppModule), //添加依赖 typeof(WebProjectEntityFrameworkModule), typeof(AbpAspNetCoreModule) ,typeof(AbpAspNetCoreSignalRModule) )] public class WebProjectWebCoreModule : AbpModule { private readonly IHostingEnvironment _env; private readonly IConfigurationRoot _appConfiguration; public WebProjectWebCoreModule(IHostingEnvironment env) { _env = env; _appConfiguration = env.GetAppConfiguration(); } public override void PreInitialize() { Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString( WebProjectConsts.ConnectionStringName ); // Use database for language management Configuration.Modules.Zero().LanguageManagement.EnableDbLocalization(); Configuration.Modules.AbpAspNetCore() .CreateControllersForAppServices( typeof(WebProjectApplicationModule).GetAssembly() );
//设置生成webapi Configuration.Modules.AbpAspNetCore().CreateControllersForAppServices(typeof(WebProjectApplicationAppModule).Assembly, moduleName: "cline", useConventionalHttpVerbs: true); ConfigureTokenAuth(); } private void ConfigureTokenAuth() { IocManager.Register<TokenAuthConfiguration>(); var tokenAuthConfig = IocManager.Resolve<TokenAuthConfiguration>(); tokenAuthConfig.SecurityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_appConfiguration["Authentication:JwtBearer:SecurityKey"])); tokenAuthConfig.Issuer = _appConfiguration["Authentication:JwtBearer:Issuer"]; tokenAuthConfig.Audience = _appConfiguration["Authentication:JwtBearer:Audience"]; tokenAuthConfig.SigningCredentials = new SigningCredentials(tokenAuthConfig.SecurityKey, SecurityAlgorithms.HmacSha256); tokenAuthConfig.Expiration = TimeSpan.FromDays(1); } public override void Initialize() { IocManager.RegisterAssemblyByConvention(typeof(WebProjectWebCoreModule).GetAssembly()); } } }