可能重复:
超过最大请求长度,错误页面上未重定向
当他上传超过最大大小的文件时,我尝试将用户重定向到某个错误页面。
我在 Web.config 中添加了以下行以将文件限制为 10MB:
<httpRuntime maxRequestLength="10240" executionTimeout="360" />
在我的页面上有一个带有标准 ASP 文件上传控件和提交按钮的简单表单。我还在页面级别定义了重定向(我也在 Global.asax Application_Error 处理中尝试过,但结果是相同的):
protected void Page_Error(object sender, EventArgs e)
{
if (HttpContext.Current.Error is HttpException)
{
if ((HttpContext.Current.Error as HttpException).ErrorCode==-2147467259)
{
Server.ClearError();
Response.Redirect("~/Error.aspx");
}
}
}
我也试过Server.Transfer()
- 不工作。
当我尝试上传大于 10 MB 的文件时,我可以调试并看到代码Page_Error
完全执行了两次:即使使用Server.ClearError()
,但页面未重定向到Error.aspx
. 相反,会出现标准的、丑陋的“连接已重置”错误页面。
如果错误是另一种类型,则此代码可以正常工作,例如除以 0 设置 on Page_Load
。你能告诉我我在这里做错了什么吗?
顺便提一句。我将 Visual Web Developer 2010 Express 与 .NET 4.0、WindowsXP 一起使用。测试内置到 VWD IIS 服务器。