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);
                    }
                );
  • 相关阅读:
    物理数据库设计
    物理数据库设计
    NHibernate 帮助类(单例实际运用)
    HttpContext请求上下文对象
    SqlDataReader类
    在你不懂怎么做的时候
    System.Object 基类
    逻辑数据库设计
    逻辑数据库设计
    NHibernate使用MemCache二级缓存
  • 原文地址:https://www.cnblogs.com/lkd3063601/p/12786371.html
Copyright © 2011-2022 走看看