在ASP.NET中使用HTTP压缩

通过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 == 0) return; 7             acceptEncoding = acceptEncoding.ToLower(); 8             if (acceptEncoding.Contains("gzip")) 9             {10                 // gzip11                 app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);12                 app.Response.AppendHeader("Content-Encoding", "gzip");13             }14             else if (acceptEncoding.Contains("deflate"))15             {16                 // defalte17                 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不进行压缩。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索app
, 页面
, 代码
, response
, WebResource.axd
, fiddler app
, HttpApplication
, ASP.NET文件压缩
, deflate压缩
Response.Filter
,以便于您获取更多的相关知识。

时间: 2024-09-02 13:10:11

在ASP.NET中使用HTTP压缩的相关文章

asp.NET中实现文件的压缩和解压(3种方式)_实用技巧

在.NET可以通过多种方式实现zip的压缩和解压:1.使用System.IO.Packaging:2.使用第三方类库:3.通过 System.IO.Compression 命名空间中新增的ZipArchive.ZipFile等类实现. 一.使用System.IO.Packaging压缩和解压 Package为一个抽象类,可用于将对象组织到定义的物理格式的单个实体中,从而实现可移植性与高效访问.ZIP 文件是Package的主物理格式. 其他Package实现可以使用其他物理格式(如 XML 文档

在 ASP.NET 中执行 URL 重写

asp.net|执行 Scott Mitchell 4GuysFromRolla.com 适用范围: Microsoft ASP.NET 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重写.URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.讨论实现 URL 重写的各种技术,并介绍执行 URL 重写的一些实际情况. 下载本文的源代码. 本页内容 引言 URL 重写的常见用法 请求到达 IIS 时将会发生什么情况 实现 URL 重写 构建 UR

ASP.NET中几种加密方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中MD5和SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中MD5与SHA1加密的几种方法

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

ASP.NET中实现文件的保护性下载基础篇

一.文件保护性下载的需求 如果我们需要在站点上出售数字形式的商品,如电子书.数字油画等,那么如何在供授权用户正常下载的同时又阻止非授权用户非法下载您的产品呢? 通过Forms身份验证,只能使这个问题得到部分解决.本文中,我将讲解如何防止某些用户访问站点上的某些文件;即使这些文件能够被这些用户直接浏览. 解决这个问题的方法有多种,但是有些方法本身就有问题.本文中,我们将考察软件供应厂商常用的一些技术,然后再介绍一种新的解决方案.需要注意的是,这里介绍的是针对ASP.net站点的. 二.常见的文件保

在ASP.NET中实现Url Rewriting

asp.net 概要 分析如何使用微软提供的ASP.NET来对动态产生的URL地址进行网址重写. 网址重写是实现一种截取网址请求并将其进行处理后重新指向到一个指定的网址的过程.作者本人在对各种实现网址重写的技术进行研究和探讨后得出的经验和方法,希望能对您有所帮助. 内容简介 稍微花点时间看一看你做的网站里头的URL地址,你看到类似这样的地址吗http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary ?也许你

access数据库连接出错,请检查Conn.asp文件中的数据库参数

  今天我们讲一个实际工作中遇到使用IIS建立网站出现:access数据库连接出错,请检查Conn.asp文件中的数据库参数设置的解决办法 1.路径设计错误,用记事本打开CONN.ASP, 如果是ACCESS数据库,请认真修改好下面的数据库的文件名 db = "databasePowerEasy2006.mdb", ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径,如果是安装在网站根目录,直接修改文件名即可.如果是安装在网站某一目录下,则在前面加上此目录,例如,系统安装在

js脚本-ASP.NET中加入JS 改变表格中数据

问题描述 ASP.NET中加入JS 改变表格中数据 <%@ Page Language=""C#"" AutoEventWireup=""true"" CodeBehind=""index.aspx.cs"" Inherits=""webgf.GF"" %> <!DOCTYPE html PUBLIC ""-/