2009-07-26 43 views
3

我使用VSTS 2008 + C#+ .Net 3.5開發ASP.Net。我想轉儲所有返回給客戶端的特定aspx文件的響應頭。任何想法如何輕鬆做到這一點?如何在ASP.Net中轉儲響應標頭

我知道如何使用Response.Headers集合,但我的困惑是在哪裏枚舉以獲得準確的響應頭?例如,如果我在Page_Load中枚舉,並不是所有的響應頭都可以枚舉,但是如果在枚舉Response.Close之後,異常將被拋出。

有什麼建議嗎?

EDIT1:VSTS中使用的OnPreRender當2008調試模式(即按F5來調試)

但下列情況除外會議{ 「此操作需要IIS綜合管道模式。」}

protected override void OnPreRender(EventArgs e) 
     { 
      base.OnPreRender(e); 
      using (StreamWriter writer = new StreamWriter("dump123.txt", true)) 
      { 
       writer.WriteLine(DateTime.UtcNow + " Response headers"); 
       foreach (string item in HttpContext.Current.Response.Headers.Keys) 
       { 
        writer.WriteLine(item + " : " + HttpContext.Current.Response.Headers[item]); 
       } 
      } 

     } 

感謝提前, 喬治

回答

3

OnPreRender呢?這只是在頁面呈現之前,並且畢竟已經發生了回發處理。一切都應該在那個時候到位。

馬克

+0

我遇到了不支持的異常。我在我的原始問題的編輯1部分發布了我的代碼,有什麼想法是錯誤的? – George2 2009-07-26 08:35:16

0

[這可能是老了,原來的問題,但加入這個答案newbees的誰可能在這裏降落好處]

更改Web項目的屬性,以使用本地IIS調試爲如下:

  1. 瀏覽到項目屬性(右鍵單擊項目節點在 解決方案瀏覽器 - >選擇的屬性或與項目節點,按 ALT + ENTER)
  2. 選擇「生成」選項卡
  3. 在服務器部分,選擇單選按鈕「使用本地IIS服務器」安裝在你的本地IIS虛擬目錄並指向的設置,URL這裏

一可以找到關於安裝的詳細教程HERE

現在當你點擊F5時,本地IIS將​​被用於調試,並且你不會得到該平臺不支持的異常/抱怨所需的集成管道模式。

相關問題