我需要在新的asp.net页面或弹出页面中呈现xml文档。
我正在关注article
我收到以下错误"Thread was being aborted."
,但xml文档在页面中呈现。
有没有更好的例子
Try
If Not String.IsNullOrEmpty(tempFilePath) Then
Response.Clear()
Response.Buffer = True
Response.Charset = ""
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = "application/xml"
'Response.WriteFile(Server.MapPath(tempFilePath)) ' Todo Change path to temp location and add th
Response.WriteFile("c:\Test.xml")
Response.Flush()
Response.[End]()
End If
Catch ex As Exception
'TODO
Throw ex
End Try
答案 0 :(得分:0)
Response.End
由于中止当前线程(Is Response.End() considered harmful?)而明确抛出该异常 - 因此,如果您记录所有异常或只是在调试器中观察,您将看到ThreadAbortException
。< / p>
要停止发送额外内容,您可以按照关联问题(C#)中的建议进行操作:
Response.Flush();
Response.SuppressContent = True
HttpContext.Current.ApplicationInstance.CompleteRequest()
根据您的评论,您尝试将XML呈现为与页面主HTML相同的响应的一部分,并且实际上不可能(至少最终结果不是“可下载文件”)。通常更容易从没有任何HTML呈现关联的单独处理程序提供文件。