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

本文关键字:浏览 Net 大附件 ASP | 更新日期: 2023-09-27 18:31:19

我在 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.

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

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

看起来我已经找到了问题 - 会话状态。

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