上传大文件只返回asp.net中的空白页面

时间:2014-05-15 07:31:51

标签: asp.net file-upload httprequest

突然,我的ASP.NET Web应用程序在您上传过大的文件后返回完全空白的HTML页面。 (就像一个6MB的文件 - 我已经设置了各种请求长度和文件上传设置,将其限制为5MB)。

页面真的是空白,Chrome中的查看源显示没有任何内容,完全为空。在IE浏览器中,它是"此页面无法显示"错误。

单步执行代码,可以清楚地看到上传按钮的代码隐藏(在文件较小时执行)从不执行。文件上传后,空白页会立即显示。

我在 Global.asax 中添加了一个非常标准的 Application_Error()方法,它捕获了您期望的错误(HttpUnhandledException.ErrorCode = -2147467259)和它可以将Server.Transfer()用户转到我自己的自定义错误aspx页面,我甚至可以在页面加载中点击断点并逐步执行它,但一旦完成...我只是得到了空白页。

有人有什么想法吗?我可以尝试一下吗?

1 个答案:

答案 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
    } 
}