zoukankan      html  css  js  c++  java
  • abp core版本添加额外应用层

    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()); } } }
  • 相关阅读:
    按照顺序打印一个数字的每一位
    JAVA中的方法递归
    静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
    相对于Statement,PreparedStatement的优点是什么?
    JDBC访问数据的基本步骤是什么
    说说事务的概念,在JDBC编程中处理事务的步骤
    String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的
    什么是JDBC,在上面时候会用到它?
    jQuery 选择器
    Jquery的基本使用方式
  • 原文地址:https://www.cnblogs.com/lkd3063601/p/10683072.html
Copyright © 2011-2022 走看看