您的位置:首页 > 运维架构 > 网站架构

通过Response.Filter属性实现网站内容的动态GZIP压缩

2009-04-11 16:22 441 查看
Response.Filter属性:在数据发送出去前通过绑定的Filter来修改HTTP实体数据

应用场景(网站内容的GZIP压缩,多语言实现等等。。。)

定义:public Stream Filter{get;set;}

例如,实现网页压缩传输:

string str = Request.Headers.Get("Accept-Encoding");
if (str != null)
{
Stream filter = Response.Filter;
str = str.ToLower();
if (str.Contains("gzip"))
{
Response.Filter = new GZipStream(filter, CompressionMode.Compress);
Response.AppendHeader("Content-Encoding", "gzip");
}
else if (str.Contains("deflate"))
{
Response.Filter = new DeflateStream(filter, CompressionMode.Compress);
Response.AppendHeader("Content-Encoding", "deflate");
}
}

注意:该实例要在.net 2.0才能使用,可以在Page里面直接加入该功能.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: