c# variable Comment vider les en-têtes de requête ASP.NET en chaîne




variable string c# (2)

Je souhaite m'envoyer par courrier électronique un résumé des en-têtes d'une demande GET pour le débogage. Auparavant, je pouvais le faire dans un ASP classique simplement avec l'objet Request, mais Request.ToString() ne fonctionnait pas. Et le code suivant a renvoyé une chaîne vide:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    string requestHeaders = reader.ReadToEnd();
    // ...
    // send requestHeaders here
}

Headers propriété Headers dans l'objet Request.

C #

string headers = Request.Headers.ToString();

Ou, si vous voulez le formater d'une autre manière:

string headers = String.Empty;
foreach (var key in Request.Headers.AllKeys)
  headers += key + "=" + Request.Headers[key] + Environment.NewLine;

VB.NET:

Dim headers = Request.Headers.ToString()

Ou:

Dim headers As String = String.Empty
For Each key In Request.Headers.AllKeys
  headers &= key & "=" & Request.Headers(key) & Environment.NewLine
Next

Vous pouvez activer le traçage sur la page pour voir les en-têtes, les cookies, les variables de formulaire, la chaîne de requête, etc. sans douleur:

Ligne supérieure du départ aspx:

<%@ Page Language="C#" Trace="true" 




asp.net-mvc