IIS7集成管道模式下的异常处理
我有一个托管在 IIS7 上的应用程序,以集成模式运行。 我通过将以下内容放入 Web.config 来处理错误:(
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace"
defaultResponseMode="ExecuteURL" defaultPath="/Error.aspx">
<remove statusCode="500" />
<error statusCode="500" path="/Error.aspx" responseMode="ExecuteURL" />
</httpErrors>
因为这是集成模式,所以不使用
我想在每次生成异常时自动发送电子邮件。 但问题是在 Error.aspx 中我无法弄清楚如何获取对异常的引用。 我试过这个:
Dim oEx As Exception = Server.GetLastError()
但它什么也没返回。 我还尝试了 HttpContext.Current.Error() 和 HttpContext.Current.AllErrors ,但它们也不起作用。
在 IIS7 集成模式下运行的自定义错误页面中,如何获取对已处理异常的引用?
I have an application hosted on IIS7 running in Integrated mode. I'm handling errors by putting the following into Web.config:
<httpErrors errorMode="DetailedLocalOnly" existingResponse="Replace"
defaultResponseMode="ExecuteURL" defaultPath="/Error.aspx">
<remove statusCode="500" />
<error statusCode="500" path="/Error.aspx" responseMode="ExecuteURL" />
</httpErrors>
(Because this is Integrated mode the <customErrors> block is not used.)
I want to automatically send emails every time an exception is generated. But the problem is that within Error.aspx I can't figure out how to get a reference to the exception. I tried this:
Dim oEx As Exception = Server.GetLastError()
But it returns Nothing. I also tried HttpContext.Current.Error() and HttpContext.Current.AllErrors and those don't work either.
In a custom error page running under IIS7 Integrated mode, how do I get a reference to the handled exception?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在 Global.asax 或自定义 IHttpModule 实现中拦截错误,如下所示:
然后,在 Error.aspx.cs 中:
You need to intercept the error, either in Global.asax or a custom IHttpModule implementation as follows:
Then, in Error.aspx.cs: