应用程序能够在OnError中记录错误,但是我们无法执行任何重定向,以便向用户显示有意义的内容.
有任何想法吗?
我知道我们可以在web.config中设置maxRequestLength,但无论如何,用户可以超过此限制,并且需要显示一些普通错误.
有任何想法吗?
我知道我们可以在web.config中设置maxRequestLength,但无论如何,用户可以超过此限制,并且需要显示一些普通错误.
解决方法
正如您所说,您可以在web.config中设置maxRequestLength(覆盖默认的4MB的machine.config),如果超出此限制,通常会收到HTTP 401.1错误.
为了在应用程序级别处理一般的HTTP错误,您可以在system.web部分的web.config中设置一个CustomError部分:
<system.web> <customErrors mode=On defaultRedirect=yourCustomErrorPage.aspx /> </system.web>
<system.web> <customErrors mode="On" defaultRedirect="yourCustomErrorPage.aspx"> <error statusCode="404" redirect="PageNotFound.aspx" /> </customErrors> </system.web>
等等.
或者,您可以从IIS编辑虚拟目录属性的CustomErrors选项卡,指向您选择的错误处理页面.
以上似乎不适用于401.x错误 – 这个代码项目文章解释了一个似乎是一个非常类似的问题的解决方法:Redirecting to custom 401 page