• asp.net core exception filter


    exception filter

        public class MyExceptionFilter : IAsyncExceptionFilter
        {
            private IWebHostEnvironment WebHostEnvironment { get; set; }
    
            public MyExceptionFilter(IWebHostEnvironment webHostEnvironment)
            {
                WebHostEnvironment = webHostEnvironment;
            }
    
            Task IAsyncExceptionFilter.OnExceptionAsync(ExceptionContext context)
            {
                string message = string.Empty;
    
                if (WebHostEnvironment.IsDevelopment())
                {
                    message = context.Exception.ToString();
                }
                else
                {
                    message = "unhandled exception in server side";
                }
    
                ObjectResult result = new ObjectResult(new {code = 500, message = message });
    
                result.StatusCode = 500;
                context.Result = result;
                context.ExceptionHandled = true;
    
                return Task.CompletedTask;
            }
        }
    

    注入

    builder.Services.Configure<MvcOptions>(opt =>
    {
        opt.Filters.Add<MyExceptionFilter>();
    });
    
  • 相关阅读:
    你真的知道什么是三观吗?
    iOS block 的两大常见用法
    微信小程序开发入门
    Linux 简介
    OC 的Runtime 消息转发机制
    关于 ES6 的 let ,var和 const
    python time,datetime
    python操作mysql(pymysql + sqlalchemy)
    python操作redis
    python操作memcached
  • 原文地址:https://www.cnblogs.com/mryux/p/15887245.html
Copyright © 2020-2023  润新知