【发布时间】:2012-10-07 21:11:02
【问题描述】:
可能重复:
Maximum Request Length Exceeded Not Redirect on Error Page
当他上传超过最大大小的文件时,我尝试将用户重定向到某个错误页面。
我在 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。相反,会出现标准的、丑陋的“连接已重置”错误页面。
如果错误是另一种类型,例如在Page_Load 上设置的除以 0,则此代码可以正常工作。你能告诉我我在这里做错了什么吗?
顺便说一句。我将 Visual Web Developer 2010 Express 与 .NET 4.0、WindowsXP 一起使用。测试内置到 VWD IIS 服务器。
【问题讨论】:
标签: asp.net redirect file-upload