IIS 7.0
部署IIS 7.0 開啟GZIP壓縮:如圖三
圖三
圖四
CompressionModule壓縮模塊
1、首先,將DC.Web.HttpCompress.dll放到項目的bin目錄。
2、配置web.config代碼如下:
webconfig的配置
1 <configSections>
2 <sectionGroup name="DCWeb">
3 <section name="HttpCompress" type="DC.Web.HttpCompress.Configuration, DC.Web.HttpCompress" />
4 </sectionGroup>
5 </configSections>
6
7 <DCWeb>
8 <HttpCompress compressionType="GZip">
9 <!--設定是否啟用cachefiles功能,并指定cache目錄,默認為false-->
10 <CacheSettings cacheFiles="true" path="cache" />
11 <!--設定jspath及csspath,實際應用中可以不設置-->
12 <PathSettings jsPath="kendo/js" cssPath="css" />
13 <!--設定要壓縮何種類型的資源,這里設定了壓縮html和javascript,即除了aspx頁面(包括所有axd資源)和js外,其它資源不會被壓縮,例:如果要壓縮gif,請?zhí)砑?lt;add mime="image/gif"/>-->
14 <!--javascript有很多種表現(xiàn)類型,具體可以借助工具查看其類型-->
15 <IncludedMimeTypes>
16 <add mime="text/html" />
17 <add mime="application/x-javascript" />
18 </IncludedMimeTypes>
19 <!--設定不壓縮何種類型資源請使用:-->
20 <!--<ExcludedMimeTypes>
21 <add mime="text/html" />
22 <add mime="application/x-javascript" />
23 </ExcludedMimeTypes>-->
24 <!--設定不啟用壓縮的頁面路徑,下面設定了Test目錄下的default.aspx頁面將不會啟用壓縮功能,但其它頁面則正常啟用壓縮-->
25 <!--<ExcludedPaths>
26 <add path="~/Test/Default.aspx" />
27 </ExcludedPaths>-->
28 </HttpCompress>
29 </DCWeb>
30
31 <system.webServer>
32 <handlers>
33 <add name="DC.Web.HttpCompress" verb="*" path="js.axd,css.axd" type="CompressionHandler"/>
34 </handlers>
35 <modules>
36 <!--設定啟用壓縮模塊的參數(shù)-->
37 <add name="HttpCompressModule" type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
38 </modules>
39 </system.webServer>
注意:
1、ExcludedMimeTypes及IncludedMimeTypes只需要配置一個就可以,如果像上面那樣配置的話,則表明html和javascript類型被壓縮。
2、<CacheSettings cacheFiles="true" path="cache"/>
那么項目下就必須存在cache這個目錄,否則的話會出錯,如果項目不想增加這個目錄,只需要將這個配置節(jié)刪掉即可!
測試結(jié)果:
在IIS 7.0 中使用CompressionMoudule壓縮,壓縮率為53.3%
在IIS 6.0 中開啟GZIP壓縮的壓縮率為: 67.3%(可根據(jù)在MetaBase.xml文件中的參數(shù)進行改變)
總結(jié):
在IIS 7.0中使用CompressionModule壓縮模塊時引用的DC.Web.HttpCompress.dll可以壓縮js、css文件。但在IIS 6.0中使用DC.Web.HttpCompress.dll文件時,對js、css文件就不起作用了。因此有個CompressionModule修復版。