簡體   English   中英

如何在ASP.Net中轉儲響應頭

[英]how to dump response headers in ASP.Net

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

我知道如何使用Response.Headers集合,但我的困惑是在哪里枚舉以獲得准確的響應標頭? 例如,如果我在Page_Load中枚舉,則不能枚舉所有響應頭,但如果我在Response.Close之后枚舉,則將拋出異常。

有什么建議?

EDIT1:在VSTS 2008調試模式下使用OnPreRender時遇到以下異常(即按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]);
                }
            }

        }

喬治,提前謝謝

OnPreRender怎么樣? 這就是在頁面呈現之前,並且在所有hte回發處理發生之后。 到那時,一切都應該到位。

[對於原始問題,這可能已經過時了,但為了可能降落在這里的新人的利益添加這個答案]

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

  1. 瀏覽到項目屬性(右鍵單擊解決方案資源管理器中的項目節點 - >屬性或選擇項目節點,按ALT + ENTER)
  2. 選擇“構建”選項卡
  3. 在服務器部分,選擇單選按鈕“使用本地IIS服務器”在本地IIS中設置虛擬目錄,並在此處的設置中指向該URL

有關設置的詳細教程可以在這里找到

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM