asp.net 压缩输出html,asp.net输出重写压缩页面文件实例代码
例子
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.htmlControls;
using System.Text.RegularExpressions;
using System.IO;
///
/// PageBase 页面基类
///
public class PageBase : System.Web.UI.Page
{
protected override void Render(htmlTextWriter writer)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlWriter = new htmlTextWriter(sw);
base.Render(htmlWriter);
string html = sw.ToString();
html = Regex.Replace(html, “[f v]“, “”);
html = Regex.Replace(html, ” {2,}”, ” “);
html = Regex.Replace(html, “>[ ]{1}”, “>”);
writer.Write(html);
}
}
补充几款.net压缩模块
一、WebResourceCompression压缩模块
这个压缩模块是专门用来实时压缩ASP.NET2.0页面引用的所有*.axd资源,一般aspx页面使用了如anthem.net的ajax框架或 asp.net验证控件都会产生axd文件引用,这个文件实际就是一个js脚本,启用这个压缩模块后,所有的axd资源都会被GZIP压缩后再传送给客户端,此模块特别适用于aspx页面应用了ajax框架或需引用体积庞大的axd资源文件的项目!
使用:解压后将WebResourceCompression.dll放到网站项目的BIN目录,并且在Web.config 配置节中加入以下语句:
代码如下:
优点:使用简单
缺点:仅支持ASP.NET2.0或以上版本,不能压缩除axd外的其它资源!
二、PageCompression压缩模块
与之前的模块不同,这个模块是专门用来压缩aspx页面的,启用这个压缩模块之后,aspx页面将会被实时压缩,一般100K的页面能被压缩到25K左右,此模块适用于只需要对页面进行压缩的项目!
使用:解压后将Compression.PageCompressionModule.dll放到网站项目的BIN目录,并且在Web.config 配置节中加入以下语句:
代码如下:
优点:使用简单
缺点:仅支持ASP.NET2.0或以上版本,不能压缩除aspx页面外的其它资源,而且启用压缩后,页面引用的axd资源会无效(BUG)!
三、HttpCompress6.0压缩模块
这是一个支持asp.net1.0/1.1/2.0(2.0以下版本不支持gzip压缩,仅支持deflate压缩),可以压缩aspx页面请求的所有类型(MimeTypes)的资源,包括图片、js脚本、axd、aspx页面、css文件等,并且能在web.config详细自定义要压缩那种类型的资源及不压缩那种类型的资源、也可定义要压缩指定的页面或不压缩指定的页面,另外还有压缩比率设定(high|normal|low)等等强大的自定义功能,不过此控件的最严重问题是在asp.net2.0下启用压缩会导致axd文件无效,这样如果页面应用了ajax框架就会导致ajax功能失效。
使用:略(与下面推荐的CompressionModule压缩模块使用方法雷同)
优点:开放源代码,强大的自定义功能,支持asp.net1.0/1.1/2.0版本,能压缩多种资源!
缺点:使用复杂,asp.net2.0下启用压缩会导致axd文件无效!
asp.net 压缩输出html,asp.net输出重写压缩页面文件实例代码相关推荐
- php仿微信上传图片压缩,PHP仿微信多图片预览上传实例代码
生产图片区域,上传按钮#btn可替换自己想要的图片 plupload上传 var uploader = new plupload.Uploader({//创建实例的构造方法 runtimes: 'ht ...
- php缓存输出压缩,PHP_控制PHP的输出:缓存并压缩动态页面,mod_gzip是一个Apache模块,其功 - phpStudy...
控制PHP的输出:缓存并压缩动态页面 mod_gzip是一个Apache模块,其功能是使用Gzip压缩静态的html页面,遵循IETF标准的浏览器可以接受gzip编码(IE, Netscape等).m ...
- ASP.NET Core: 全新的ASP.NET !
背景 最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET. 什么是 ASP.NET Core? ASP.NET Core ...
- ASP.NET Core: 全新的ASP.NET
背景 最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET. 什么是 ASP.NET Core? ASP.NET Core ...
- asp打印html,asp.net教程之利用ASP在浏览器上打印输出
利用asp结合javascript或vbscript可以生成动态的web页面.在将这种方法用于实际应用中时,不可避免的要将结果打印输出.我们同样可以将查询结果整理后输出,并用浏览器工具栏上的打印按钮直 ...
- 从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例 【转】
一.摘要 一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方法中返回ActionResult对象后,如何到达View的? 本文 ...
- c# response输出文件实例(14)
Response.WriteFile方法可以将指定的文件直接写入HTTP内容输出流中显示. 示例是将文件直接输出到客户端,html主体代码: <body> <p> 选择输出文件 ...
- ASP.NET开发要抛弃ASP旧习和破烂
ASP.NET开发要抛弃ASP旧习和破烂 使用ASP没有错,只要适用够用就行了.但是在用ASP.NET开发网站或系统的时候,应该抛弃开发ASP时形成的习惯,用ASP.NET的方法去开发,而不是在ASP ...
- ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单 ...
- 网站 asp和php的用途,asp和php都有什么功能?
ASP是什么?有什么功能? ASP.NET是微软开发,建立动态的,强大的,智能的.可扩展的网站和网际网络应用的全功能的程序语言如C或VB.NET #.它包括一个强大的安全评估的亮点,以及一个组织的小工 ...
最新文章
- 多视图几何三维重建实战系列之MVSNet
- 实验九:异常的抛出、捕获并处理
- xp 无线连接 服务器,NPS配置无线策略XP能正常连接,WIN连接不成功
- 定时覆盖库_高考直通车公众号 联考题库大全
- 内网通 去广告_新高一攻略|让我们一起跟升学e网通名师看看如何学好高中化学...
- 利用Word2010给汉字添加汉语拼音
- windows和linux允许分片,请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢...
- 不愿意和别人打交道_如果你的交际能力很差,不喜欢与人打交道,这3种职业最适合你...
- mysql 中文字符排序规则_mysql中字符集和排序规则说明
- 复制mysql数据目录后无法启动的问题
- LeetCode(183)—— 从不订购的客户(MySQL)
- nyoj--496--巡回赛(拓扑排序)
- DHCP八种报文详解
- 罗马数字序号与word2013中如何插入
- 宝付国际一文读懂:跨境电商的外汇风险敞口(一)
- 在C#中使用WIA获取扫描仪数据(利用Filter处理图片)
- 将Planet卫星影像数据添加到QGIS, ArcGIS Pro 或 ArcGIS 10.X方法,以ArcGIS Pro为例。
- 航测无人机-任务规划模块 竞品分析
- Office 365禁用所有宏,且不通知
- RPA-艺赛旗iS-RPA Studio 9.0 Beta 现已发布
热门文章
- 程序员怎么规划自己的职业生涯
- java 检查字符串是否包含多个关键字
- SAP从R2 R3版本,演绎到ECC6 版本,并坚持20年不变版本而增发补丁EHP1-EHP8
- 技术创业公司,技术团队一定要有一个强者坐镇,否则失败率极高
- IT行业热门高薪岗位大数据人才为何这么火?
- iconfont 图标Unicode引用,js,css中的引用
- STM32的ch438串口扩展芯片l例程,注意到了8位数据口占用的PC其他位的端口不能接CH438Q的中断引脚,避免读写数据造成中断异常
- 项目xxx已被OS X使用,不能打开
- 【写一个操作系统】1—hello world重出江湖
- 9.6 综合行业的RPA实战案例分析