ASP.NET服务端GZIP压缩(CompressionModule压缩模块)

100 篇文章 0 订阅
39 篇文章 1 订阅

本人推荐的一个模块,同样可以压缩aspx页面请求的所有资源及支持强大自定义功能的压缩模块,与HttpCompress6.0一样能自定义要压缩那种类型的资源及不压缩那种类型的资源、也可定义要压缩指定的页面或不压缩指定的页面,并且还有开启Cache资源的功能及指定压缩目录的强大功能,另外也不会像HttpCompress6.0会出现axd文件无效的BUG,这样此压缩模块就能完美支持各种ajax框架!!

 

<addname="WebResourceCompression"type="WebResourceCompression.WebResourceCompressionModule"/>

<addname="PageCompressionModule"type="Compression.PageCompressionModule,Compression.PageCompressionModule"/>

  <configSections>
    <sectionGroupname="DCWeb">
      <sectionname="HttpCompress"type="DC.Web.HttpCompress.Configuration,
           DC.Web.HttpCompress"/>
    </sectionGroup>
  </configSections>

  <DCWeb>
    <HttpCompress  compressionType="GZip">
<!--设定是否启用cachefiles功能,并指定cache目录,如果删掉这行配置的话就自动默认为false(不开启cache)-->
      <CacheSettingscacheFiles="true"path="cache"/>
<!--设定jspath及csspath,如果删除掉这行配置的话就会使用默认值-->
      <PathSettingsjsPath="javascript"cssPath="css"/>
<!--配置要压缩何种类型的资源,这里设定只压缩html,即只有aspx页面及*.axd资源会被压缩,其它的资源(如图片,CSS等)将不被压缩!例:如果要压缩gif,请添加<add mime="image/gif"/>,压缩jpg则添加<add mime="image/jpeg"/>-->
      <IncludedMimeTypes>
        <addmime="text/html"/>
      </IncludedMimeTypes>
      <!--配置不压缩何种类型资源请使用:
     <ExcludedMimeTypes>
         <add mime="text/html" />
       </ExcludedMimeTypes>
        注意:ExcludedMimeTypes及IncludedMimeTypes只需要配置一个就可以,如果像上面那样配置ExcludeMimeTypes的话,则表明除html类型的资源外,其它资源都会被压缩-->
        <ExcludedPaths>
<!--设定不启用压缩的页面路径,下面设定了nocompress目录下的default.aspx页面将不会启用压缩功能,但其它页面则正常启用压缩-->
          <addpath="~/NoCompress/Default.aspx"/>
        </ExcludedPaths>
      </HttpCompress>
  </DCWeb>
  
  <!--The js.axd and css.axd must be enabled to allow javascript. and css
       compression-->
  <httpHandlers>
<!--如果不需要使用到此功能的话可删掉此配置节-->
    <addverb="*"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>
    <addname="ScriptModule"type="System.Web.Handlers.ScriptModule,
         System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
         PublicKeyToken=31bf3856ad364e35"/>
<!--设定启用压缩模块的参数-->
    <addname="HttpCompressModule"
         type="DC.Web.HttpCompress.HttpModule,DC.Web.HttpCompress"/>
  </httpModules>


使用:请看后面的CompressionModule压缩模块实际使用及性能测试!
优点:开放源代码,强大的自定义功能,能压缩多种资源,能完美支持各种ajax框架!
缺点:使用复杂,仅支持asp.net2.0或以上版本!


     综上所述,各种压缩模块都能达到优化页面的作用,但由于压缩的过程是发生在服务器一端,所以启用这些压缩会消耗一点点服务器资源,不过一般来说压缩只发生在客户端第一次访问页面的时候,因为之后浏览器本身cache了页面及资源的关系,再次刷新访问的时候就不会再占用服务器资源进行压缩了,所以对于网站页面体积庞大的开发者来说,启用压缩功能绝对是物有所值的,毕竟页面体积更小,加载就会更快!

 

使用:请看后面的CompressionModule压缩模块实际使用及性能测试!
优点:开放源代码,强大的自定义功能,能压缩多种资源,能完美支持各种ajax框架!
缺点:使用复杂,仅支持asp.net2.0或以上版本!


<CacheSettings cacheFiles="true" path="cache"/>
那么项目下就必须存在cache这个目录,否则的话会出错,如果项目不想增加这个目录,只需要将这个配置节删掉即可!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值