惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
V
V2EX
B
Blog RSS Feed
有赞技术团队
有赞技术团队
博客园 - Franky
美团技术团队
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
云风的 BLOG
云风的 BLOG
L
LangChain Blog
GbyAI
GbyAI
The Cloudflare Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
博客园 - 【当耐特】
The Register - Security
The Register - Security
大猫的无限游戏
大猫的无限游戏
D
Docker
Vercel News
Vercel News
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
N
Netflix TechBlog - Medium
博客园_首页
A
About on SuperTechFans
J
Java Code Geeks
量子位
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
G
Google Developers Blog
小众软件
小众软件
博客园 - 叶小钗
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
F
Full Disclosure
Jina AI
Jina AI
H
Help Net Security

博客园 - *小小黄*

List<T>的Sort,Find,Exists等的使用(摘抄) JQuery常用代码1 使用Telerik控件时出现Failed to create designer 的解决方法 GridView 笔记 - *小小黄* - 博客园 Telerik Rad 笔记 一 Silverlight学习笔记四:如何通过自定义ComboBox实现SelectedValue Silverlight学习笔记三:如何自定义DataGrid的Header Silverlight学习笔记二(续) Silverlight学习笔记二:DataGrid 服务器端分页、排序的实现 Silverlight学习笔记一:DataGrid如何处理鼠标的滚轮事件 SQL2005快照 Web注册表单设计样式的研究(下) Web注册表单设计样式的研究(上) 禁用aspx页面的客户端缓存 DataGrid中没有数据时显示表头(转) 在 Windows Vista 上安裝 Reporting Services IIS7中访问Access数据库报错的解决方案 解决“无法删除文件:无法读源文件或磁盘” AjaxControlToolkit中的CalendarExtender被遮挡的解决方法
在ASP.NET中使用HTTP压缩
*小小黄* · 2008-11-14 · via 博客园 - *小小黄*

通过GZIP或DEFLATE方式对所有页面进行压缩,会大大缩小页面传输的容量。

可以使用Fiddler2来观察使用压缩后页面大小的变化。

在项目中添加Global.asax,然添加如下代码:

 1         protected void Application_BeginRequest(object sender, EventArgs e)
 2         {
 3             HttpApplication app = (HttpApplication)sender;
 4             string acceptEncoding = app.Request.Headers["Accept-Encoding"];
 5             Stream prevUncompressedStream = app.Response.Filter;
 6             if (acceptEncoding == null || acceptEncoding.Length == 0return;
 7             acceptEncoding = acceptEncoding.ToLower();
 8             if (acceptEncoding.Contains("gzip"))
 9             {
10                 // gzip
11                 app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);
12                 app.Response.AppendHeader("Content-Encoding""gzip");
13             }
14             else if (acceptEncoding.Contains("deflate"))
15             {
16                 // defalte
17                 app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress);
18                 app.Response.AppendHeader("Content-Encoding""deflate");
19             }
20         }

修正:

这种方法是我无意中在网上找到的,我在实际的项目中并没有使用,压缩的效果是有的,但是对服务器端的资源占用情况我没有测试过,所以不是太清楚这个和IIS中设置压缩的方式那个好。暂时只是做一个代码备份,以后用空在研究。

另外,这个方法还是有缺点的,我在试验中发现使用后会导致.net自带的TreeView的小图标失效。原因是TreeView在使用默认的小图标时,图片文件是通过WebResource.axd获取的,而压缩后就无法获取到图片了,所以在代码开始时对请求的文件进行过滤,对WebResource.axd不进行压缩。