处理超出最大请求长度

时间:2014-06-20 10:05:44

标签: c# asp.net global-asax unhandled-exception maxrequestlength

我想知道,这是处理"超出最大请求长度的最佳方式"我的申请中的错误。我有asp.net应用程序,允许用户上传文件(pdf或图像)。我想处理错误。我做了一些研究,发现它可以在global.asax中处理,但我不确定要做什么。据我所知,我将不得不在global.asax文件中处理它并将其重定向到自定义错误页面。任何人都可以建议自定义错误页面应该是什么以及如何?

它应该是HTML页面还是jpg文件或aspx文件?它的内容应该是什么?我可以将其重定向到发生错误的同一页面吗?如果是,那么我会更容易在同一页面上显示错误消息。

更新 我做了客户端验证,以限制用户上传大文件。但是仍然希望如何在服务器端解决问题。

3 个答案:

答案 0 :(得分:2)

您可以在Global.aspx文件中检查Request.TotalBytes属性,并在TotalBytes超出限制时将您的请求重定向到错误页面。

答案 1 :(得分:1)

编辑您的web.config。

<{1>}

下的

根据需要更改值

<system.web>

答案 2 :(得分:0)

错误可以在Global.asax: Application_Error()处理,因为:

var ex = Server.GetLastError();
var httpException = ex as HttpException ?? ex.InnerException as HttpException;
if (httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
{
  Response.Clear();
  Server.ClearError();
  //Do whatever to handle
  return;
}