通过HttpModule确定页面大小

时间:2008-09-09 16:35:16

标签: asp.net

这对你来说很简单:

我正在通过HttpModule记录请求持续时间,我想知道每个页面的字节数。

HttpContext.Current.Response.OutputStream.Length会抛出NotSupportedException

有什么简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

我有一个实现流重写器的HttpModule。它派生自Stream类。在我的HttpModule中,我有以下代码:

void app_PreRequestHandlerExecute(object sender, EventArgs e)
{
    HttpResponse response = HttpContext.Current.Response;
    response.Filter = new MyRewriterStream(response.Filter);
}

在stream类中,我有以下代码覆盖默认的Write方法:

public override void Write(byte[] buffer, int offset, int count)
{
     string outStr;
     outStr = UTF8Encoding.UTF8.GetString(buffer, offset, count);
     //Do useful stuff and write back to the stream
}

你可以在第二点获取字符串的长度