关于asp.net的上载有关问题

关于asp.net的下载问题
下载文件的代码:
FileStream f = new FileStream(FP, FileMode.Open);
byte[] buffer = new byte[f.Length];
f.Read(buffer, 0, buffer.Length);
f.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileName).Replace("+", "%20"));
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();  
在Response.Flush();处设置断点调试。点击下载按钮之后,弹出迅雷或IE自带的下载框,如果点确定,则跳到Response.End();如果点取消,则一直停留在Response.Flush();~然后页面中其他的按钮怎么点击都没反应。如果退出迅雷或关闭IE窗口,则会执行其他按钮的后台操作。
我想知道为什么会出现这种情况啊。。。头疼~有没有什么其他的下载方式来避免这个问题呢?

------解决方案--------------------
你可以研究下这个文章看看,
http://www.west-wind.com/weblog/posts/2009/Nov/13/Capturing-and-Transforming-ASPNET-Output-with-ResponseFilter