• 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()); } } }
  • 相关阅读:
    低功耗计算机视觉技术前沿,四大方向,追求更小、更快、更高效
    ELECTRA中文预训练模型开源,性能依旧媲美BERT
    局部敏感哈希源代码-python
    利用局部敏感哈希改进推荐系统实时性
    局部敏感哈希算法介绍
    为什么要用局部敏感哈希
    多采用panda的数据处理方式
    delphi:文件操作
    delphi:常用函数
    delphi:打印日志
  • 原文地址:https://www.cnblogs.com/lkd3063601/p/10683072.html
Copyright © 2020-2023  润新知