首次下载时,ASP.NET Response.TransmitFile失败

时间:2010-10-19 00:47:41

标签: c# asp.net download

我在aspx页面上有一些代码,然后当用户加载页面时,它开始下载一个zip。看起来像这样:

            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileSaveName);
            Response.TransmitFile(zipPath);
            Response.End();

问题是第一次遇到这个问题我得到以下错误:

alt text

zip文件存在且不在我的wwwroot中。如果我刷新页面,文件将下载正常。

如果我将代码包装在Try Catch中,我会收到一条带有消息的System.Threading.Threadabort异常:

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

注意:我实际上每次都会得到该异常。我猜它只是与Response.End

有关

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Response.End可能会抛出一个例外来获取quick'n'dirty,所​​以这很好,但是,那个文件..我怀疑你的Response.End搞砸了,你试过做一个.Flush()第一?您可以通过使用Fiddler来检查服务器实际返回的内容