【发布时间】:2012-04-08 00:47:34
【问题描述】:
在 MVC4 中使用 API 控制器,当控制器操作引发异常时,ELMAH 不会记录错误。
我认为问题在于 MVC4 将 HTTP 状态代码设置为 500,并在 JSON 对象中返回异常详细信息,但它不会抛出未处理的异常,因此 ELMAH 永远不会看到它。
如何让 ELMAH 捕获状态代码不是 200 的所有响应?
【问题讨论】:
-
可能值得注意的是,API 控制器在 Web API 中,而不是在 MVC 中。每个单独的执行路径通常是导致以 MVC 为目标的库与 Web API 不兼容的原因。每个请求要么通过 MVC,要么通过 Web API。两者并排且不交互(Web API 不是 MVC 执行中的功能)。它们有不同的上下文、不同的路由表、不同的配置,都不同,都是独立的。
标签: asp.net-mvc asp.net-mvc-4 elmah