IExceptionHandler的多个实现

时间:2015-02-26 06:12:54

标签: asp.net-web-api asp.net-web-api2

在WebAPI中处理IExceptionHandler的多个实现的最佳方法是什么?

config.Services.Replace(typeof(IExceptionHandler), new ExceptionHandlerFilter());
config.Services.Add(typeof(IExceptionHandler), new ValidationExceptionHandlerFilter());

尝试注册多个实现时,启动会抛出异常:

  

不支持服务类型IExceptionHandler。\ r \ nParameter name:serviceType

但API建议支持多个处理程序,因为在ShouldHandle类上有一个ExceptionHandler属性。

1 个答案:

答案 0 :(得分:4)

您无法注册更多IExceptionHandler

  

我们支持注册多个异常记录器,但只支持一个异常处理程序。

源:Global Error Handling in ASP.NET Web API

ShouldHandle属性用于仅获取堆栈顶部的异常