在WebAPI中处理IExceptionHandler
的多个实现的最佳方法是什么?
config.Services.Replace(typeof(IExceptionHandler), new ExceptionHandlerFilter());
config.Services.Add(typeof(IExceptionHandler), new ValidationExceptionHandlerFilter());
尝试注册多个实现时,启动会抛出异常:
不支持服务类型IExceptionHandler。\ r \ nParameter name:serviceType
但API建议支持多个处理程序,因为在ShouldHandle
类上有一个ExceptionHandler
属性。
答案 0 :(得分:4)
您无法注册更多IExceptionHandler
我们支持注册多个异常记录器,但只支持一个异常处理程序。
源:Global Error Handling in ASP.NET Web API
ShouldHandle
属性用于仅获取堆栈顶部的异常