Je voudrais m'envoyer par e-mail un vidage rapide des en-têtes d'une requête GET pour le débogage. J'avais l'habitude de faire ceci en ASP classique simplement avec l'objet de demande, mais Request.ToString()
ne fonctionne pas. Et le code suivant retourne une chaîne vide:Comment faire pour vider les en-têtes de demande ASP.NET à la chaîne
using (StreamReader reader = new StreamReader(Request.InputStream))
{
string requestHeaders = reader.ReadToEnd();
// ...
// send requestHeaders here
}
+1 il suffit d'ajouter une ligne pour l'envoyer par email et je pense que c'est la réponse complète (la question a été taguée C# donc je ne pense pas que la version de VB.Net soit essentielle). – amelvin
Le premier extrait KeyValuePair a provoqué une erreur de distribution à l'exécution, donc j'utilise foreach (clé de chaîne dans Request.Headers) en-tête + = key + "=" + Request.Headers [clé] + Environment.NewLine; –
Vous pouvez joindre toutes les données à l'aide de la méthode string.Join: string.Join (Environment.NewLine, Request.Headers.AllKeys.Select (key => string.Format ("Key: {0}, Value: {1}", clé, Request.Headers [clé]))); Cette méthode est plus rapide que votre chaîne parce que.Join est plus efficace pour rejoindre plusieurs objets –