2015-09-25 89 views
1

我需要在新的asp.net頁面或彈出頁面中呈現xml文檔。在瀏覽器vb.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 
+1

請指定你得到該異常的行(請注意'Response.End'顯式拋出異常作爲中止當前線程的結果 - http://stackoverflow.com/questions/1087777/is-response-end-認爲有害) –

+0

謝謝你的工作,我用response.close替換了response.end。你可以添加一個答案。如果我需要在具有母版頁的頁面中呈現響應,我將如何執行此操作。 – user1339913

回答

0

Response.End明確地拋出該異常中止作爲當前線程(Is Response.End() considered harmful?)的結果 - 所以,如果你正在登錄的所有異常,或只是看着調試器中你會看到ThreadAbortException

要停止發送額外的內容,你可以按照推薦的鏈接的問題(C#):

Response.Flush(); 
    Response.SuppressContent = True 
    HttpContext.Current.ApplicationInstance.CompleteRequest() 

基於您的評論你試圖渲染XML作爲作爲頁面的主HTML相同的響應的一部分,這是不可能的(至少最終的結果不會是「可下載的文件」)。從單獨的處理程序提供沒有任何HTML呈現關聯的文件通常更容易。