Exception information:
Exception type: HttpException
Exception message: Maximum request length exceeded.
at System.Web.HttpRequest.GetEntireRawContent()
at System.Web.HttpRequest.GetMultipartContent()
at System.Web.HttpRequest.FillInFormCollection()
at System.Web.HttpRequest.get_Form()
at System.Web.HttpRequest.get_HasForm()
at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
at System.Web.UI.Page.DeterminePostBackMode()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
我知道这个exception是由于上传的文件大于config里面设置的maxRequestLength的时候抛出的。
但能不能在哪个地方控制,当遇到这个异常时跳转到另一个较为友好一点的URL,而不是 "Internet Explorer cannot display the webpage"?
在功能代码(函数)执行处控制,如:
private void UpLoadFile()
{
try
{
// 上传操作
......
}
catch (Exception e)
{
// 转向其它预定义错误页面
if (e.Message == "Maximum request length exceeded")
Response.Redirect("error01.aspx");
// 或者弹出提示
//Page.ClientScript.RegisterStartupScript(this.GetType(), "haha", "<script>alert('" + e.Message + "')</script>");
}
}
web.config设置错误转向。
在页面里写Page_error事件,在这个事件里重新定向到一个页面
protected void Page_Error(object sender, EventArgs e)
{
Response.Redirect("~/Error.html");
}
或者是Global.asax里的Application_error,代码同Page_error