asp.net輸出重寫(xiě)壓縮頁(yè)面文件實(shí)例代碼
例子
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;
/// <summary>
/// PageBase 頁(yè)面基類
/// </summary>
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);
}
}
補(bǔ)充幾款.net壓縮模塊
一、WebResourceCompression壓縮模塊
這個(gè)壓縮模塊是專門用來(lái)實(shí)時(shí)壓縮ASP.NET2.0頁(yè)面引用的所有*.axd資源,一般aspx頁(yè)面使用了如anthem.net的ajax框架或 asp.net驗(yàn)證控件都會(huì)產(chǎn)生axd文件引用,這個(gè)文件實(shí)際就是一個(gè)js腳本,啟用這個(gè)壓縮模塊后,所有的axd資源都會(huì)被GZIP壓縮后再傳送給客戶端,此模塊特別適用于aspx頁(yè)面應(yīng)用了ajax框架或需引用體積龐大的axd資源文件的項(xiàng)目!
使用:解壓后將WebResourceCompression.dll放到網(wǎng)站項(xiàng)目的BIN目錄,并且在Web.config <httpModules> 配置節(jié)中加入以下語(yǔ)句:
代碼如下:
<add name="WebResourceCompression" type="WebResourceCompression.WebResourceCompressionModule"/>
優(yōu)點(diǎn):使用簡(jiǎn)單
缺點(diǎn):僅支持ASP.NET2.0或以上版本,不能壓縮除axd外的其它資源!
二、PageCompression壓縮模塊
與之前的模塊不同,這個(gè)模塊是專門用來(lái)壓縮aspx頁(yè)面的,啟用這個(gè)壓縮模塊之后,aspx頁(yè)面將會(huì)被實(shí)時(shí)壓縮,一般100K的頁(yè)面能被壓縮到25K左右,此模塊適用于只需要對(duì)頁(yè)面進(jìn)行壓縮的項(xiàng)目!
使用:解壓后將Compression.PageCompressionModule.dll放到網(wǎng)站項(xiàng)目的BIN目錄,并且在Web.config <httpModules> 配置節(jié)中加入以下語(yǔ)句:
代碼如下:
<add name="PageCompressionModule" type="Compression.PageCompressionModule,Compression.PageCompressionModule"/>
優(yōu)點(diǎn):使用簡(jiǎn)單
缺點(diǎn):僅支持ASP.NET2.0或以上版本,不能壓縮除aspx頁(yè)面外的其它資源,而且啟用壓縮后,頁(yè)面引用的axd資源會(huì)無(wú)效(BUG)!
三、HttpCompress6.0壓縮模塊
這是一個(gè)支持asp.net1.0/1.1/2.0(2.0以下版本不支持gzip壓縮,僅支持deflate壓縮),可以壓縮aspx頁(yè)面請(qǐng)求的所有類型(MimeTypes)的資源,包括圖片、js腳本、axd、aspx頁(yè)面、css文件等,并且能在web.config詳細(xì)自定義要壓縮那種類型的資源及不壓縮那種類型的資源、也可定義要壓縮指定的頁(yè)面或不壓縮指定的頁(yè)面,另外還有壓縮比率設(shè)定(high|normal|low)等等強(qiáng)大的自定義功能,不過(guò)此控件的最嚴(yán)重問(wèn)題是在asp.net2.0下啟用壓縮會(huì)導(dǎo)致axd文件無(wú)效,這樣如果頁(yè)面應(yīng)用了ajax框架就會(huì)導(dǎo)致ajax功能失效。
使用:略(與下面推薦的CompressionModule壓縮模塊使用方法雷同)
優(yōu)點(diǎn):開(kāi)放源代碼,強(qiáng)大的自定義功能,支持asp.net1.0/1.1/2.0版本,能壓縮多種資源!
缺點(diǎn):使用復(fù)雜,asp.net2.0下啟用壓縮會(huì)導(dǎo)致axd文件無(wú)效!
- C#實(shí)現(xiàn)GZip壓縮和解壓縮入門實(shí)例
- c#調(diào)用winrar解壓縮文件代碼分享
- asp.net中調(diào)用winrar實(shí)現(xiàn)壓縮解壓縮的代碼
- 用ASP.Net實(shí)現(xiàn)文件的在線壓縮和解壓縮
- Asp.net在線備份、壓縮和修復(fù)Access數(shù)據(jù)庫(kù)示例代碼
- asp.net 圖片超過(guò)指定大小后等比例壓縮圖片的方法
- 基于Asp.Net MVC4 Bundle捆綁壓縮技術(shù)的介紹
- asp.net SharpZipLib的壓縮與解壓?jiǎn)栴}
- ASP.NET頁(yè)面進(jìn)行GZIP壓縮優(yōu)化的幾款壓縮模塊的使用簡(jiǎn)介及應(yīng)用測(cè)試!(附源碼)
- C#使用iCSharpcode進(jìn)行文件壓縮實(shí)現(xiàn)方法
- asp.net C#實(shí)現(xiàn)解壓縮文件的方法
相關(guān)文章
C#讀取中文字符及清空緩沖區(qū)的實(shí)現(xiàn)代碼
有一個(gè)txt的中英文語(yǔ)料庫(kù)文件,內(nèi)容是英文一句中文一句相間的,共3000行,需要把英文句和中文句分開(kāi),放在單獨(dú)的txt文件中。2010-12-12ASP.NET Core使用HttpClient調(diào)用WebService
這篇文章介紹了ASP.NET Core使用HttpClient調(diào)用WebService的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03C#實(shí)現(xiàn)上傳照片到物理路徑,并且將地址保存到數(shù)據(jù)庫(kù)的小例子
這篇文章主要介紹了c#上傳圖片,并將地址保存到數(shù)據(jù)庫(kù)中的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-12-12visual studio 2019正式版安裝簡(jiǎn)單教程
這篇文章主要為大家詳細(xì)介紹了visual studio 2019正式版安裝簡(jiǎn)單教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫(kù)
這篇文章介紹了Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03ASP.NET Core根據(jù)環(huán)境變量支持多個(gè) appsettings.json配置文件
這篇文章主要介紹了ASP.NET Core根據(jù)環(huán)境變量支持多個(gè) appsettings.json配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08DataSet 添加數(shù)據(jù)集、行、列、主鍵和外鍵等操作示例
DataSet 添加數(shù)據(jù)集、行、列、主鍵和外鍵等操作示例...2007-03-03詳解.NET6下的Modbus通訊和數(shù)據(jù)庫(kù)記錄
本文主要介紹了.NET6下的Modbus通訊和數(shù)據(jù)庫(kù)記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04