【发布时间】:2011-06-09 17:16:33
【问题描述】:
即使我在机器级 web.config 的 healthMonitoring 元素中设置了 enabled="false",asp.net 也会捕获未处理的异常并在 windows 事件日志中进行条目。
那么,你能告诉我吗?我们可以在机器级别启用/禁用健康监控吗?
感谢您的回答。
【问题讨论】:
标签: asp.net
即使我在机器级 web.config 的 healthMonitoring 元素中设置了 enabled="false",asp.net 也会捕获未处理的异常并在 windows 事件日志中进行条目。
那么,你能告诉我吗?我们可以在机器级别启用/禁用健康监控吗?
感谢您的回答。
【问题讨论】:
标签: asp.net
我认为这是任何 ASP.NET 网站在发生任何未处理的异常时的正常行为。
如果您不使用代码处理它,或者至少为不存在的资源提供 404 页面,则该事件将冒泡到 WIndows 事件日志中。
您可以使用以下任何一种方法来防止 Windows 事件日志列出您的异常。
1- 创建自定义 404 和 500 错误页面,并在 web.config 中将 customErros 模式设置为 TRUE。
<CustomErrors mode="On">
2- 在 Global.ASAX 中使用 Application_Errors 处理程序捕获错误
3- 在控制器代码中使用[HandleError] 属性,让它使用您的自定义错误页面并吞下错误,而不会将其暴露给 Windows 事件日志。
【讨论】: