Como registrar a solicitação de entrada com o HttpModule e redefinir a posição do InputStream
Eu estou tentando registrar o conteúdo de uma solicitação http, usando um IHttpModule da seguinte forma:
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)
}
}
O problema é que depois de ler o fluxo de entrada até o final, o InputStream parece ter desaparecido ou mais provável, o cursor está no final do fluxo.
eu tenteirequest.InputStream.Position = 0;
erequest.InputStream.Seek(0, SeekOrigin.Begin);
mas nem trabalho.