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()); } } }
  • 相关阅读:
    nyoj----522 Interval (简单树状数组)
    HDUOJ-----2838Cow Sorting(组合树状数组)
    HDUOJ---2642Stars(二维树状数组)
    HDUOJ -----Color the ball
    ACM遇到的问题与解决方案
    ELK架构下利用Kafka Group实现Logstash的高可用
    Linux给力的Shell命令
    i18n 语言码和对应的语言库
    jar启动脚本shell
    持续集成和部署工具GOCD
  • 原文地址:https://www.cnblogs.com/lkd3063601/p/10683072.html
Copyright © 2011-2022 走看看