我正在尝试使用 IHttpModule 记录 http 请求的内容,如下所示:
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)
}
}
问题是在将输入流读到最后之后,InputStream 似乎要么消失了,要么更有可能是光标在流的末尾。
我已经尝试过request.InputStream.Position = 0;
,request.InputStream.Seek(0, SeekOrigin.Begin);
但都没有工作。