ASP.Net发送大型附件 - 阻止浏览直到完成

时间:2013-09-13 02:44:38

标签: c# asp.net exception iis download

我在IIS上的ASP.Net中运行以下代码:

try
{
    Response.Clear();
    Response.ContentType = "application/zip";
    Response.AddHeader("content-disposition", "attachment;filename=MyBigFile.zip");
    Response.TransmitFile(Server.MapPath("~/Stuff/MyBigFile.zip"));
    Response.Flush();
}
catch (Exception ex)
{
    Logger.Error("File download failed", ex);
}

问题是,在下载完成之前,用户无法导航到我网站上的任何其他页面(我发现这是因为看起来用户正在手动取消下载,因为它经常抛出异常The remote host closed the connection. The error code is 0x800703E3.)< / p>

如何让下载在后台生成,并允许我的用户在下载时继续浏览网站?

1 个答案:

答案 0 :(得分:0)

看起来我发现了问题 - 会话状态。

在页面上设置<%@ EnableSessionState="ReadOnly" %>似乎可以解决问题。