gpt4 book ai didi

c# - 在 ASP.NET 中正确使用 Response.Write()

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:40 27 4
gpt4 key购买 nike

我试图在用户访问页面时强制下载 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();
}
}

我面临的问题是我的下载窗口无限期挂起,从未完成文件的下载/打开。

我做错了什么?我不是在此处处理任何对象或关闭任何连接吗?

最佳答案

我已经发布了 a replya similar question .引用我自己的话:

只是对其他答案的一小部分补充。在下载结束时我执行:

context.Response.Flush();
context.ApplicationInstance.CompleteRequest();

我了解到,否则下载有时无法成功完成。

This Google Groups posting还注意到 Response.End 抛出一个 ThreadAbortException,您可以使用 CompleteRequest 方法避免这种情况。

关于c# - 在 ASP.NET 中正确使用 Response.Write(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4583201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com