3 Stimmen

wie man Antwort-Header in ASP.Net ausgibt

Ich verwende VSTS 2008 + C# + .Net 3.5 zur Entwicklung von ASP.Net. Ich möchte alle Antwort-Header an den Client für eine bestimmte aspx-Datei zurückgegeben dump. Irgendwelche Ideen, wie man das einfach machen kann?

Ich weiß, wie man Response.Headers Sammlung verwenden, aber meine Verwirrung ist, wo zu enumerieren, um die genaue Antwort Header zu erhalten? Wenn ich zum Beispiel in Page_Load aufzähle, können nicht alle Antwort-Header aufgezählt werden, aber wenn ich nach Response.Close aufzähle, wird eine Ausnahme ausgelöst.

Haben Sie einen Rat?

EDIT1: Begegnung mit der folgenden Ausnahme bei der Verwendung von OnPreRender im Debug-Modus von VSTS 2008 (d. h. Drücken von F5 zum Debuggen)

{"Dieser Vorgang erfordert den integrierten IIS-Pipelinemodus."}

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]);
                }
            }

        }

vielen Dank im Voraus, Georg

3voto

marc_s Punkte 701497

Was ist mit OnPreRender? Das ist kurz bevor die Seite gerendert wird, und nachdem die gesamte Postback-Verarbeitung stattgefunden hat. Alles sollte zu diesem Zeitpunkt bereits vorhanden sein.

Marc

0voto

Sudhanshu Mishra Punkte 6123

(Dies mag für die ursprüngliche Frage veraltet sein, aber ich füge diese Antwort zum Nutzen der Neulinge hinzu, die vielleicht hier landen)

Ändern Sie die Eigenschaften Ihres Webprojekts wie folgt, um den lokalen IIS für das Debugging zu verwenden:

  1. Navigieren Sie zu den Projekteigenschaften (Rechtsklick auf den Projektknoten in Lösungsexplorer ->Eigenschaften ODER bei ausgewähltem Projektknoten, drücken Sie ALT+ENTER)
  2. Wählen Sie die Registerkarte "Bauen".
  3. Wählen Sie im Abschnitt "Server" die Optionsschaltfläche "Lokalen IIS-Server verwenden". Richten Sie ein virtuelles Verzeichnis in Ihrem lokalen IIS ein und verweisen Sie in den Einstellungen auf diese URL.

Eine ausführliche Anleitung für die Einrichtung finden Sie unter HIER

Wenn Sie nun F5 drücken, wird der lokale IIS für das Debugging verwendet, und Sie erhalten nicht die Ausnahme "Plattform nicht unterstützt" bzw. die Meldung, dass ein integrierter Pipelinemodus erforderlich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X