【发布时间】:2014-12-11 18:40:41
【问题描述】:
我正在尝试捕获 404 和 500 错误。我已经阅读了很多 stack over flow 问题和答案,似乎都说他们的方式是最好的。所以我只是选择了一个并接受了它。它完成了我需要它做的事情,但是我似乎无法在任何地方获得实际的错误信息。
我需要开始将这些记录到我们的数据库中,我到底是怎么得到错误的?我想知道他们尝试访问的链接等。
这是我过滤掉我们使用 IIS7+ 的错误的方法
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/PageNotFound" />
<remove statusCode="500" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error/Error500" />
</httpErrors>
当我逐步执行 PageNotFound 操作时,我似乎无法获得错误信息。
我试过(Exception exception)作为参数,我试过Exception exception = Server.GetLastError();
如何获取错误,然后将其记录到我们的数据库中?
【问题讨论】:
-
您是否查看过 ELMAH 以捕获错误?
-
简单地说,希望有比添加另一个第三方工具更好的解决方案。 @汤米
-
此错误处理是通过 IIS 而不是 MVC 完成的,这就是您没有收到异常的原因。作为解决方案之一,您可以在 global.asax 文件中覆盖 OnAppllicationError 方法以查看实际异常,或实现自定义错误处理程序全局过滤器
-
你使用的是什么版本的 asp.net MVC?
-
asp.net mvc 4.5 @ataravati
标签: c# asp.net-mvc error-handling