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;
/// <summary>
/// PageBase 頁面基類
/// </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);
}
}
補充幾款.net壓縮模塊
一、WebResourceCompression壓縮模塊
這個壓縮模塊是專門用來實時壓縮ASP.NET2.0頁面引用的所有*.axd資源,一般aspx頁面使用了如anthem.net的ajax框架或 asp.net驗證控件都會產(chǎn)生axd文件引用,這個文件實際就是一個js腳本,啟用這個壓縮模塊后,所有的axd資源都會被GZIP壓縮后再傳送給客戶端,此模塊特別適用于aspx頁面應(yīng)用了ajax框架或需引用體積龐大的axd資源文件的項目!
使用:解壓后將WebResourceCompression.dll放到網(wǎng)站項目的BIN目錄,并且在Web.config <httpModules> 配置節(jié)中加入以下語句:
代碼如下:
<add name="WebResourceCompression" type="WebResourceCompression.WebResourceCompressionModule"/>
優(yōu)點:使用簡單
缺點:僅支持ASP.NET2.0或以上版本,不能壓縮除axd外的其它資源!
二、PageCompression壓縮模塊
與之前的模塊不同,這個模塊是專門用來壓縮aspx頁面的,啟用這個壓縮模塊之后,aspx頁面將會被實時壓縮,一般100K的頁面能被壓縮到25K左右,此模塊適用于只需要對頁面進行壓縮的項目!
使用:解壓后將Compression.PageCompressionModule.dll放到網(wǎng)站項目的BIN目錄,并且在Web.config <httpModules> 配置節(jié)中加入以下語句:
代碼如下:
<add name="PageCompressionModule" type="Compression.PageCompressionModule,Compression.PageCompressionModule"/>
優(yōu)點:使用簡單
缺點:僅支持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詳細自定義要壓縮那種類型的資源及不壓縮那種類型的資源、也可定義要壓縮指定的頁面或不壓縮指定的頁面,另外還有壓縮比率設(shè)定(high|normal|low)等等強大的自定義功能,不過此控件的最嚴(yán)重問題是在asp.net2.0下啟用壓縮會導(dǎo)致axd文件無效,這樣如果頁面應(yīng)用了ajax框架就會導(dǎo)致ajax功能失效。
使用:略(與下面推薦的CompressionModule壓縮模塊使用方法雷同)
優(yōu)點:開放源代碼,強大的自定義功能,支持asp.net1.0/1.1/2.0版本,能壓縮多種資源!
缺點:使用復(fù)雜,asp.net2.0下啟用壓縮會導(dǎo)致axd文件無效!
- C#實現(xiàn)GZip壓縮和解壓縮入門實例
- c#調(diào)用winrar解壓縮文件代碼分享
- asp.net中調(diào)用winrar實現(xiàn)壓縮解壓縮的代碼
- 用ASP.Net實現(xiàn)文件的在線壓縮和解壓縮
- Asp.net在線備份、壓縮和修復(fù)Access數(shù)據(jù)庫示例代碼
- asp.net 圖片超過指定大小后等比例壓縮圖片的方法
- 基于Asp.Net MVC4 Bundle捆綁壓縮技術(shù)的介紹
- asp.net SharpZipLib的壓縮與解壓問題
- ASP.NET頁面進行GZIP壓縮優(yōu)化的幾款壓縮模塊的使用簡介及應(yīng)用測試!(附源碼)
- C#使用iCSharpcode進行文件壓縮實現(xiàn)方法
- asp.net C#實現(xiàn)解壓縮文件的方法
相關(guān)文章
Asp.net的GridView控件實現(xiàn)單元格可編輯方便用戶使用
考慮到用戶使用方便,減少彈出頁面,采用點“編輯”按鈕無需彈出頁面直接當(dāng)前行的單元格內(nèi)容就能編輯,思路及代碼如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08
.NET使用Collections.Pooled提升性能優(yōu)化的方法
這篇文章主要介紹了.NET使用Collections.Pooled性能優(yōu)化的方法,今天要給大家分享類庫Collections.Pooled,它是通過池化內(nèi)存來達到降低內(nèi)存占用和GC的目的,另外也會帶大家看看源碼,為什么它會帶來這些性能提升,一起通過本文學(xué)習(xí)下吧2022-05-05
淺談?wù)l都能看懂的單點登錄(SSO)實現(xiàn)方式(附源碼)
這篇文章主要介紹了淺談?wù)l都能看懂的單點登錄(SSO)實現(xiàn)方式(附源碼),具有一定的參考價值,有需要的可以了解一下。2016-12-12
使用Visual Studio 2017作為Linux C++開發(fā)工具
這篇文章主要為大家詳細介紹了使用Visual Studio 2017作為Linux C++開發(fā)工具的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03
ASP.NET數(shù)據(jù)綁定的記憶碎片實現(xiàn)代碼
ASP.NET數(shù)據(jù)綁定的記憶碎片實現(xiàn)代碼,需要的朋友可以參考下2012-10-10
解析WPF實現(xiàn)音頻文件循環(huán)順序播放的解決方法
本篇文章是對WPF實現(xiàn)音頻文件循環(huán)順序播放的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05

