最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET頁面進行GZIP壓縮優(yōu)化的幾款壓縮模塊的使用簡介及應用測試!(附源碼)第1/2頁

 更新時間:2008年01月16日 20:21:28   作者:  
ASP.NET頁面進行GZIP壓縮優(yōu)化的幾款壓縮模塊的使用簡介及應用測試!(附源碼)
在介紹之前,先簡單說一說ASP.NET服務端GZIP壓縮模塊的作用及工作原理,很多人編寫網頁的時候頁面因為使用了大量的JS特效又或者放置很多大型動態(tài)廣告導致了頁面或腳本體積龐大,通常都會使用一些壓縮工具本地對頁面或腳本進行一定的壓縮后再上傳到服務器,但這樣的壓縮工具一般壓縮率有限,優(yōu)化自然也不明顯,本文章介紹的壓縮模塊的作用就是對asp.net的頁面或腳本等資源進行高強度GZIP壓縮(一般能壓縮到只有1/5的體積),而且壓縮的過程是發(fā)生在客戶端請求aspx頁面的時候由服務端進行壓縮處理后再傳送給客戶端顯示,換言之項目使用這些壓縮模塊之后,所有的aspx頁面都不需要事先進行壓縮處理,而是由壓縮模塊在頁面被客戶端第一次請求的時候自動在服務端后臺進行壓縮處理(壓縮處理的時間很快,幾乎可以忽略不計,但壓縮后的頁面加載速度卻提升明顯)。下面就讓我介紹幾款實現這樣功能的壓縮模塊:

一、WebResourceCompression壓縮模塊
    這個壓縮模塊是專門用來實時壓縮ASP.NET2.0頁面引用的所有*.axd資源,一般aspx頁面使用了如anthem.net的ajax框架或asp.net驗證控件都會產生axd文件引用,這個文件實際就是一個js腳本,啟用這個壓縮模塊后,所有的axd資源都會被GZIP壓縮后再傳送給客戶端,此模塊特別適用于aspx頁面應用了ajax框架或需引用體積龐大的axd資源文件的項目!

使用:解壓后將WebResourceCompression.dll放到網站項目的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放到網站項目的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詳細自定義要壓縮那種類型的資源及不壓縮那種類型的資源、也可定義要壓縮指定的頁面或不壓縮指定的頁面,另外還有壓縮比率設定(high|normal|low)等等強大的自定義功能,不過此控件的最嚴重問題是在asp.net2.0下啟用壓縮會導致axd文件無效,這樣如果頁面應用了ajax框架就會導致ajax功能失效。

使用:略(與下面推薦的CompressionModule壓縮模塊使用方法雷同)
優(yōu)點:開放源代碼,強大的自定義功能,支持asp.net1.0/1.1/2.0版本,能壓縮多種資源!
缺點:使用復雜,asp.net2.0下啟用壓縮會導致axd文件無效!

四、CompressionModule壓縮模塊(強烈推薦)
    本人推薦的一個模塊,同樣可以壓縮aspx頁面請求的所有資源及支持強大自定義功能的壓縮模塊,與HttpCompress6.0一樣能自定義要壓縮那種類型的資源及不壓縮那種類型的資源、也可定義要壓縮指定的頁面或不壓縮指定的頁面,并且還有開啟Cache資源的功能及指定壓縮目錄的強大功能,另外也不會像HttpCompress6.0會出現axd文件無效的BUG,這樣此壓縮模塊就能完美支持各種ajax框架!!

使用:請看后面的CompressionModule壓縮模塊實際使用及性能測試!
優(yōu)點:開放源代碼,強大的自定義功能,能壓縮多種資源,能完美支持各種ajax框架!
缺點:使用復雜,僅支持asp.net2.0或以上版本!

     綜上所述,各種壓縮模塊都能達到優(yōu)化頁面的作用,但由于壓縮的過程是發(fā)生在服務器一端,所以啟用這些壓縮會消耗一點點服務器資源,不過一般來說壓縮只發(fā)生在客戶端第一次訪問頁面的時候,因為之后瀏覽器本身cache了頁面及資源的關系,再次刷新訪問的時候就不會再占用服務器資源進行壓縮了,所以對于網站頁面體積龐大的開發(fā)者來說,啟用壓縮功能絕對是物有所值的,畢竟頁面體積更小,加載就會更快!

附錄:CompressionModule壓縮模塊的使用說明及性能測試!
一、使用
首先,將DC.Web.HttpCompress.dll放到網站項目的bin目錄,再按如下增加及修改項目的web.config 

  
復制代碼 代碼如下:

<configSections> 
    <sectionGroup name="DCWeb"> 
      <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration,  
          DC.Web.HttpCompress"/> 
    </sectionGroup> 
  </configSections> 

  <DCWeb> 
    <HttpCompress  compressionType="GZip"> 
<!--設定是否啟用cachefiles功能,并指定cache目錄,如果刪掉這行配置的話就自動默認為false(不開啟cache)--> 
      <CacheSettings cacheFiles="true" path="cache"/> 
<!--設定jspath及csspath,如果刪除掉這行配置的話就會使用默認值--> 
      <PathSettings jsPath="javascript" cssPath="css" /> 
<!--配置要壓縮何種類型的資源,這里設定只壓縮html,即只有aspx頁面及*.axd資源會被壓縮,其它的資源(如圖片,CSS等)將不被壓縮!例:如果要壓縮gif,請?zhí)砑?lt;add mime="image/gif"/>,壓縮jpg則添加<add mime="image/jpeg"/>--> 
      <IncludedMimeTypes> 
        <add mime="text/html" /> 
      </IncludedMimeTypes> 
      <!--配置不壓縮何種類型資源請使用: 
      <ExcludedMimeTypes> 
        <add mime="text/html" /> 
      </ExcludedMimeTypes> 
       注意:ExcludedMimeTypes及IncludedMimeTypes只需要配置一個就可以,如果像上面那樣配置ExcludeMimeTypes的話,則表明除html類型的資源外,其它資源都會被壓縮--> 
        <ExcludedPaths> 
<!--設定不啟用壓縮的頁面路徑,下面設定了nocompress目錄下的default.aspx頁面將不會啟用壓縮功能,但其它頁面則正常啟用壓縮--> 
          <add path="~/NoCompress/Default.aspx" /> 
        </ExcludedPaths> 
      </HttpCompress> 
  </DCWeb> 

  <!-- The js.axd and css.axd must be enabled to allow javascript and css  
      compression --> 
  <httpHandlers> 
<!--如果不需要使用到此功能的話可刪掉此配置節(jié)--> 
    <add verb="*" path="js.axd,css.axd"  
        type="DC.Web.HttpCompress.CompressionHandler,DC.Web.HttpCompress"/> 
  </httpHandlers> 
  <!-- The compression module must be enabled for the WebResource.axd to be  
       compressed --> 
  <httpModules> 
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule,  
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  
        PublicKeyToken=31bf3856ad364e35"/> 
<!--設定啟用壓縮模塊的參數--> 
    <add name="HttpCompressModule"  
        type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/> 
  </httpModules> 

配置好后,壓縮模塊就可以正常工作了!

小提示:如果web.config配置了      
<CacheSettings cacheFiles="true" path="cache"/>
那么項目下就必須存在cache這個目錄,否則的話會出錯,如果項目不想增加這個目錄,只需要將這個配置節(jié)刪掉即可!

二、實際應用的性能測試

相關文章

  • JavaScript驗證用戶輸入的是字符或數字及ASCII Chart應用

    JavaScript驗證用戶輸入的是字符或數字及ASCII Chart應用

    我們可以根據onkeydown事件的event.keyCode即是ASCII Chart來判斷字符或數字等,本文提供了相關鍵盤key對應的ASCII碼,以供用戶使用是參考及使用onpaste事件只能輸入字符和數字防止粘貼等的,感興趣的朋友可以了解下
    2013-01-01
  • ASP.NET Lable中進行換行解決方案

    ASP.NET Lable中進行換行解決方案

    這個問題,應該算是很簡單的問題,可說實在的,折騰了2個小時的時候,后面整出來的時候,現在把這個過程給大家,希望可以給大家一個提醒
    2012-12-12
  • ASP.NET Core 3框架揭秘之 異步線程無法使用IServiceProvider問題

    ASP.NET Core 3框架揭秘之 異步線程無法使用IServiceProvider問題

    這篇文章主要介紹了ASP.NET Core 3框架揭秘之異步線程無法使用IServiceProvider問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • .NET?Core使用?CancellationToken?取消API請求的操作方法

    .NET?Core使用?CancellationToken?取消API請求的操作方法

    用戶取消請求時,你可以使用HttpContext.RequestAborted訪問,您也可以使用依賴注入將其自動注入到您的操作中,這篇文章主要介紹了.NET?Core使用?CancellationToken?取消API請求,需要的朋友可以參考下
    2024-03-03
  • .NET 中Worker Service的使用入門

    .NET 中Worker Service的使用入門

    隨著 .NET Core 3.0 的發(fā)布,ASP.NET 團隊引入了一個新的&nbsp;Worker Service&nbsp;項目模板,該模板作為 .NET SDK 的一部分發(fā)布。在本文中,我將向您介紹這個新模板,以及使用它開發(fā)的一些實際的服務示例。
    2021-05-05
  • div彈出層的ajax登錄(Jquery版+c#)

    div彈出層的ajax登錄(Jquery版+c#)

    這次主要的分享就是div+css+jquery,你可以改版成你要的登錄,隨意改版!后臺代碼由于時間限制,沒有完成,里面有些亂,重點分享界面,還望理解
    2012-10-10
  • 比較完整的 asp.net 學習流程

    比較完整的 asp.net 學習流程

    好多朋友想學習后臺編程語言,但請注意的事,學習后臺是個循序漸進的過程,不可能一下就到位,其實不只是asp.net其它的編程語言都需要下面的一些知識。
    2009-06-06
  • ASP.NET Core中的對象池化技術詳解

    ASP.NET Core中的對象池化技術詳解

    這篇文章主要為大家詳細介紹了ASP.NET Core中的對象池化技術的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • .NET Core使用HttpClient進行表單提交時遇到的問題

    .NET Core使用HttpClient進行表單提交時遇到的問題

    這篇文章主要介紹了.NET Core使用HttpClient進行表單提交時遇到的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • ASP.NET MVC自定義授權過濾器

    ASP.NET MVC自定義授權過濾器

    這篇文章介紹了ASP.NET MVC自定義授權過濾器的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03

最新評論

临清市| 河津市| 台湾省| 台前县| 和顺县| 荣成市| 土默特左旗| 安庆市| 额尔古纳市| 康定县| 双鸭山市| 临沭县| 简阳市| 安达市| 衡阳县| 宝鸡市| 南和县| 霸州市| 溧阳市| 循化| 溧阳市| 循化| 延吉市| 十堰市| 新化县| 昌乐县| 当涂县| 汉阴县| 铅山县| 张掖市| 华宁县| 富阳市| 呼和浩特市| 吴旗县| 栾川县| 镇沅| 茂名市| 抚顺县| 河源市| 新竹县| 泗洪县|