这对你来说很简单:
我正在通过HttpModule记录请求持续时间,我想知道每个页面的字节数。
HttpContext.Current.Response.OutputStream.Length
会抛出NotSupportedException
。
有什么简单的方法可以做到这一点?
答案 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
}
你可以在第二点获取字符串的长度