调试未被Application_Error()捕获的错误

时间:2012-09-03 02:56:33

标签: asp.net-mvc-3 iis runtime-error web-deployment

我有一个MVC3(C#)应用程序,它引发了一个神秘错误(显示自定义错误页面),我在我的日志文件(我使用NLog进行日志记录)和IIS日志中找不到任何关于它的信息

事实上它没有出现在我的日志文件中,我得出结论,Application_Error()没有触发,否则它应该被记录。发生此错误后,在重新启动应用程序池之前,它不会消失。

注意:这不是关于当customError为On时不会触发Application_Error()。即使我将customError设置为On。因为当我故意输入错误的URL时,我会得到自定义错误页面,我也可以在日志中看到它。

是否有人遇到类似问题?或者任何人都知道我应该研究什么?谢谢。

1 个答案:

答案 0 :(得分:0)

为了捕获给定域上的任何URL,您需要所谓的catch-all路由,如下所示:

// this route is intended to catch 404 Not Found errors instead of bubbling them all the way up to IIS.
routes.MapRoute("PageNotFound", "{*catchall}", notFound);

最后注册该路线。

关于问题的“接管IIS劫持”方面,您可能想研究system.webServer httpErrors