Cómo registrar el flujo de entrada de solicitud con HttpModule y luego restablecer la posición de InputStream

Estoy intentando registrar el contenido de una solicitud http, usando un IHttpModule así:

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

El problema es que después de leer el flujo de entrada hasta el final, parece que InputStream ha desaparecido o es más probable que el cursor esté al final del flujo.

Yo he tratadorequest.InputStream.Position = 0; yrequest.InputStream.Seek(0, SeekOrigin.Begin); pero tampoco trabajo.

Respuestas a la pregunta(6)

Su respuesta a la pregunta