突然,我的ASP.NET Web应用程序在您上传过大的文件后返回完全空白的HTML页面。 (就像一个6MB的文件 - 我已经设置了各种请求长度和文件上传设置,将其限制为5MB)。
页面真的是空白,Chrome中的查看源显示没有任何内容,完全为空。在IE浏览器中,它是"此页面无法显示"错误。
单步执行代码,可以清楚地看到上传按钮的代码隐藏(在文件较小时执行)从不执行。文件上传后,空白页会立即显示。
我在 Global.asax 中添加了一个非常标准的 Application_Error()方法,它捕获了您期望的错误(HttpUnhandledException.ErrorCode = -2147467259)和它可以将Server.Transfer()用户转到我自己的自定义错误aspx页面,我甚至可以在页面加载中点击断点并逐步执行它,但一旦完成...我只是得到了空白页。
有人有什么想法吗?我可以尝试一下吗?
答案 0 :(得分:0)
如果请求的长度超过maxrequestlength
中设置的允许限制,则ASP.NET终止处理请求。
如果您想捕获异常,请尝试按照
中的说明进行操作How to catch ConfigurationErrorsException for violating maxRequestLength?
另一种方法是将maxrequestlength设置为高于所需的限制并检查代码中的文件大小
protected void button_Click(object sender, EventArgs e)
{
if (fileUpload.HasFile && fileUpload.FileContent.Length > 5*1024)
{
// too big
}
}