从 Web 应用程序下载文件问题 - ASP.NET Web 表单应用程序

Issue downloading Files from Web App - ASP.NET Web Form Application

目前我在 ASP.NET Web 表单应用程序上遇到问题,有些人无法获得所请求的完整下载文件。

文件有时会完全下载,但有时它会在一定字节数后保持挂起状态,最后浏览器似乎提示网络错误。我想再次强调有时它很好,其他时候下载只是卡住而没有响应。我试过输入 try/catch 但没有返回任何内容。

我无法在测试网络服务器上复制它,它只发生在生产环境中,这使得这个问题更难找到。

似乎没有通过刷新,发生这种情况时正在执行语句。如果没有出现则一切正常。

public void DownloadFile(byte[] fileImage, string fileName )
{
    if (fileImage == null) return;
    string fileExt = fileName.Substring(fileName.LastIndexOf('.') + 1);
    string disposition = string.Format("attachment;filename=\"{0}\"", fileName);

    Response.Clear();
    Response.Buffer = true;
    Response.ContentType = GetContentType(fileExt);
    Response.ContentEncoding = System.Text.Encoding.Default;   
    Response.AddHeader("content-disposition", disposition);
    Response.BinaryWrite(fileImage);
    Response.Flush();
    Response.End();
}
 

所以我发现问题是由负载平衡器而不是代码引起的。负载均衡器处理 SSL 的方式似乎是造成这种情况的关键。目前的解决方案是将 SSL 处理卸载到 Web 服务器。