使用IHttpModule记录请求长度

时间:2014-06-23 02:26:02

标签: c# asp.net ihttpmodule

我制作了一个记录网络请求的IHttpModule。它记录POST请求就好了。但是对于GET请求,长度似乎总是为零。有没有办法获得GET请求的长度?

    public void Init(HttpApplication context)
    {
        context.BeginRequest += ContextBeginRequest;
    }

    private void ContextBeginRequest(object sender, EventArgs e)
    {
            string url = app.Request.RequestContext.HttpContext.Request.Url.ToString();
            string requestType = app.Request.RequestContext.HttpContext.Request.RequestType;
            long requestLength = app.Request.InputStream.Length;
            Log(url, requestType, requestLength);
    }

1 个答案:

答案 0 :(得分:2)

GET请求通常没有邮件正文,因此Content-Length将为零。