超过了处理最大请求长度
本文关键字:请求 过了 处理 | 更新日期: 2023-09-27 18:09:44
我想知道,哪种方法是处理应用程序中"超过最大请求长度"错误的最佳方法。我有一个asp.net应用程序,允许用户上传文件(pdf或图像(。我想处理这个错误。我做了一些研究,发现它可以在global.asax中处理,但我不确定必须做什么。据我所知,我必须在global.asax文件中处理它,并将其重定向到自定义错误页面。有人能建议一下自定义错误页面应该是什么以及如何创建的吗?
它应该是HTML页面、jpg文件还是aspx文件?它的内容应该是什么?我可以将其重定向到发生错误的同一页面吗?如果是的话,那么我就可以更容易地在同一页面上显示错误消息。
更新我做了客户端验证来限制用户上传大文件。但仍然想知道如何在服务器端解决这个问题。
您可以在Global.aspx文件中检查Request.TotalBytes
属性,如果TotalBytes
超过了您的限制,则可以将请求重定向到错误页面。
错误可以在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;
}
编辑web.config。
<system.web>
下
根据需要更改值
<httpRuntime maxRequestLength="4096" />