zoukankan      html  css  js  c++  java
  • ABP 替换异常过滤器

    public class ExceptionFilter: AbpExceptionFilter
        {
            public ExceptionFilter(IErrorInfoBuilder errorInfoBuilder, IAbpAspNetCoreConfiguration configuration) : base(errorInfoBuilder, configuration)
            { 
            
            }
            protected override int GetStatusCode(ExceptionContext context, bool wrapOnError)
            {
                if (context.Exception is AbpAuthorizationException)
                {
                    if (!context.HttpContext.User.Identity.IsAuthenticated)
                    {
                        return 401;
                    }
                    return 403;
                }
                if (context.Exception is AbpValidationException)
                {
                    return 400;
                }
                if (context.Exception is EntityNotFoundException)
                {
                    return 404;
                }
                if (context.Exception is UserFriendlyException)
                {
                    return 10002;
                }
                if (wrapOnError)
                {
                    return 500;
                }
                return context.HttpContext.Response.StatusCode;
            }
    
        }
     services.AddMvc(
                    options => { 
                        options.Filters.Add(new CorsAuthorizationFilterFactory(_defaultCorsPolicyName));
                        options.Filters.AddService(typeof(ExceptionFilter), order: 2);
                    }
    
                ).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
     return services.AddAbp<WebSystemWebHostModule>(
                    // Configure Log4Net logging
                    options =>
                    {
                        options.IocManager.IocContainer.AddFacility<LoggingFacility>(
                f => f.UseAbpLog4Net().WithConfig("log4net.config")
            );
                        options.IocManager.Register<IExceptionFilter, ExceptionFilter>(Abp.Dependency.DependencyLifeStyle.Transient);
                    }
                );
  • 相关阅读:
    数据库锁表处理汇总
    2021,顺其自然
    NetCore中跨域策略的一个坑
    Furion框架亮点之-动态WebAPI
    sql中where in的数量限制
    动态规划学习笔记
    用Go编写Web应用程序
    Asp.net Core AutoFac根据程序集实现依赖注入
    Linux+Docker+Gitee+Jenkins自动化部署.NET Core服务
    CentOS8.0安装Nacos
  • 原文地址:https://www.cnblogs.com/lkd3063601/p/12786371.html
Copyright © 2011-2022 走看看