我试图在用户访问页面时强制下载XML文件.
这是我正在使用的代码
public partial class GenerateTemplate : LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
//.............
//Going about generating my XML
//.............
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=template.xml");
Response.Write(xmlDoc.InnerXml);
Response.Flush();
Response.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到一个问题,我的下载窗口无限期挂起,没有完成下载/打开文件.
我究竟做错了什么?我不会在这里处理任何物品或关闭任何连接吗?
只是对其他答案的一小部分补充.在下载的最后,我执行:
context.Response.Flush();
context.ApplicationInstance.CompleteRequest();
Run Code Online (Sandbox Code Playgroud)
我了解到,否则,下载有时无法成功完成.
这谷歌群组中张贴还指出,Response.End将引发ThreadAbortException你可以通过使用避免CompleteRequest方法.
| 归档时间: |
|
| 查看次数: |
19702 次 |
| 最近记录: |