下载文件时,所有请求都被阻止

时间:2009-08-03 05:53:14

标签: c# asp.net download blocked

我的申请Pelotonics中存在问题。当用户下载文件时,系统似乎会阻止所有传入的请求,直到该文件完成下载。打开下载对话框(浏览器标准)的正确方法是什么,让用户开始下载文件,然后在下载文件时,让用户在整个应用程序中继续。

我们从服务器获取文件的方式是我们有一个单独的ASPX页面,通过查询字符串传递一个值,然后从服务器检索文件流,然后我添加“内容 - 处理“响应的标题然后循环文件的流并读取2KB块到response.outputstream。然后,一旦完成,我做一个Response.End。

观看此内容,快速了解该问题:

http://www.screencast.com/users/PeloCast/folders/Jing/media/8bb4b1dd-ac66-4f84-a1a3-7fc64cd650c0

顺便说一句,我们在ASP.NET和C#...

谢谢! 丹尼尔

1 个答案:

答案 0 :(得分:0)

我认为ASP.NET允许每个会话同时执行一个页面,我不知道有任何方法可以配置它。

这不是一个非常漂亮的解决方法,但如果您将ASP.NET_SESSIONID值重写为Application_BeginRequest(在global.asax中)中的请求cookie,则可能会有所帮助。当然,您需要以其他方式进行身份验证。不过我还没试过。

另一种方法是为下载过程启动一个单独的线程,但是如果没有工作线程关闭它的资源,你需要找到一种方法。

请问,你有没有理由不使用HttpResponse.TransmitFile?