Je suis en train de connecter le contenu d'une requête http, en utilisant un IHttpModule comme ceci:Comment se connecter demande inputstream avec HttpModule, puis réinitialiser la position InputStream
public class LoggingModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += ContextBeginRequest;
}
private void ContextBeginRequest(object sender, EventArgs e)
{
var request = ((HttpApplication)sender).Request;
string content;
using (var reader = new StreamReader(request.InputStream))
{
content = reader.ReadToEnd();
}
LogRequest(content)
}
}
Le problème est que, après la lecture du flux d'entrée à la fin, le InputStream semble avoir disparu ou plus probablement, le curseur est à la fin du flux.
J'ai essayé request.InputStream.Position = 0;
et request.InputStream.Seek(0, SeekOrigin.Begin);
mais aucun travail.
Soyez prudent avec l'encodage là, je pense que vous voulez qu'il soit Encoding.UTF8.GetString (octets); – SimonF
Bonne réponse !! +1 –