Asp.net mvc 4 调用控制器操作之前MVC4WebAPI上的自定义错误
基于本文,我已经实现了自己的Asp.net mvc 4 调用控制器操作之前MVC4WebAPI上的自定义错误,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,基于本文,我已经实现了自己的ExceptionFilterAttribute,并在GlobalConfiguration中注册了过滤器,以便在MVC4WebAPI中进行自定义异常处理 但是,ExceptionFilterAttribute仅在控制器操作中抛出的异常被调用,在该请求被框架解析之后 我还想为调用控制器操作之前抛出的异常实现自定义错误处理。例如,DelegatingHandler中抛出的异常当前会返回以下HTML: <!DOCTYPE html> <html>
ExceptionFilterAttribute
,并在GlobalConfiguration
中注册了过滤器,以便在MVC4WebAPI中进行自定义异常处理
但是,ExceptionFilterAttribute
仅在控制器操作中抛出的异常被调用,在该请求被框架解析之后
我还想为调用控制器操作之前抛出的异常实现自定义错误处理。例如,DelegatingHandler
中抛出的异常当前会返回以下HTML:
<!DOCTYPE html>
<html>
<head>
<title>Exception of type 'System.Exception' was thrown.</title>
...
引发了类型为“System.Exception”的异常。
...
对于这种情况,我需要怎么做才能返回我自己的自定义错误?如果DelegatingHandler异常是从您编写的筛选器生成的,那么您可以添加另一个筛选器来“捕获”其中一些异常,如下所示
正如您已经发现并在该SO答案中记录的那样,您实际上从Web API管道“捕获”的异常非常有限。我看到的尝试执行您描述的操作的唯一选项是将自定义的
HttpMessageHandler
as编写。如果DelegatingHandler异常是从您编写的筛选器生成的,那么您可以添加另一个筛选器来“捕获”其中一些异常
正如您已经发现并在该SO答案中记录的那样,您实际上从Web API管道“捕获”的异常非常有限。我看到的尝试执行您描述的操作的唯一选项是编写一个自定义的HttpMessageHandler
as