這篇文章主要介紹了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驗證控件都會產生axd文件引用,這個文件實際就是一個js腳本,啟用這個壓縮模塊後,所有的axd資源都會被GZIP壓縮後再傳送給客戶端,此模塊特別適用於aspx頁面應用了ajax框架或需引用體積龐大的axd資源文件的項目! 使用:解壓後將WebResourceCompression.dll放到網站項目的BIN目錄,並且在Web.config <httpModules> 配置節中加入以下語句: 代碼如下: 代碼如下: <add name="WebResourceCompression" type="WebResourceCompression.WebResourceCompressionModule"/> 優點:使用簡單 缺點:僅支持ASP.NET2.0或以上版本,不能壓縮除axd外的其它資源! 二、PageCompression壓縮模塊 與之前的模塊不同,這個模塊是專門用來壓縮aspx頁面的,啟用這個壓縮模塊之後,aspx頁面將會被實時壓縮,一般100K的頁面能被壓縮到25K左右,此模塊適用於只需要對頁面進行壓縮的項目! 使用:解壓後將Compression.PageCompressionModule.dll放到網站項目的BIN目錄,並且在Web.config <httpModules> 配置節中加入以下語句: 代碼如下: 代碼如下: <add name="PageCompressionModule" type="Compression.PageCompressionModule,Compression.PageCompressionModule"/> 優點:使用簡單 缺點:僅支持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文件無效!