相关疑难解决方法(0)

如何在IIS7中运行gzip压缩?

我已经为IIS7安装了静态和动态压缩,并web.config在我的应用程序Virtual Folder级别设置了两个值.据我了解,我不再需要在服务器或站点级别启用压缩,我可以使用我的web.config文件在每个文件夹的基础上管理它.

我的.config文件中有两个设置,我已经设置为我的应用程序自定义gzip:

<httpCompression dynamicCompressionDisableCpuUsage="90"
    dynamicCompressionEnableCpuUsage="0">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
  <dynamicTypes>
    <remove mimeType="*/*"/>
    <add mimeType="*/*" enabled="true" />
  </dynamicTypes>
</httpCompression>
<urlCompression doDynamicCompression="true"
    dynamicCompressionBeforeCache="true" />
Run Code Online (Sandbox Code Playgroud)

但是,当我运行应用程序时,我可以清楚地看到没有使用gzip,因为我的页面大小是相同的.我也在使用YSlow for FireFox,这也证实我的页面没有被gziped.

我在这里错过了什么?在IIS6中,只需指定文件类型,并将压缩级别设置在0-10之间即可.我没有记录需要记录指定文件类型或压缩级别,因为默认值似乎涵盖了文件类型,我没有在任何地方看到级别.

compression asp.net iis-7 gzip .net-3.5

68
推荐指数
5
解决办法
5万
查看次数

在Silverlight中向WCF添加压缩的最简单方法是什么?

我有一个访问WCF Web服务的silverlight 2 beta 2应用程序.因此,它目前只能使用basicHttp绑定.Web服务将返回相当大量的XML数据.从带宽使用的角度来看,这看起来相当浪费,因为如果压缩,响应会小5倍(我实际上将响应粘贴到txt文件中并压缩它.).

请求确实有"Accept-Encoding:gzip,deflate" - 有没有办法让WCF服务gzip(或以其他方式压缩)响应?

我确实找到了这个链接,但它确实看起来有点复杂的功能应该是开箱即用的恕我直言.

好的 - 首先我使用System.IO.Compression作为答案标记了解决方案,因为我无法"看起来"让IIS7动态压缩工作.事实证明:

  1. 在IIS7动态压缩一起工作的人.只是Nikhil的IE开发人员Helper插件没有显示它的工作原理.我的猜测是,由于SL将Web服务调用关闭到浏览器,浏览器"在幕后"处理它,而Nikhil的工具永远不会看到压缩响应.我能够通过使用Fiddler来确认这一点,Fiddler监视浏览器应用程序外部的流量.事实上,在提琴手中,响应是gzip压缩的!

  2. System.IO.Compression解决方案的另一个问题是Silverlight CLR中不存在System.IO.Compression.

因此,从我的角度来看,在Silverlight中启用WCF压缩的EASIEST方法是在IIS7中启用动态压缩并且根本不编写任何代码.

compression silverlight wcf gzip

24
推荐指数
3
解决办法
2万
查看次数

动态压缩无法正常工作IIS 7.5

我目前配置了静态和动态压缩.静态压缩正在工作,但是当通过YSlow和Fiddler检查时,动态压缩不起作用.

在我的applicationHost.config中,我有以下设置:

<urlCompression doStaticCompression="true" doDynamicCompression="true"
    dynamicCompressionBeforeCache="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"
    maxDiskSpaceUsage="100" minFileSizeForComp="256">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"
        dynamicCompressionLevel="1" />
    <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="*/*" enabled="true" />
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="*/*" enabled="true" />
    </staticTypes>
</httpCompression>
<serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="01:00:00" />
Run Code Online (Sandbox Code Playgroud)

我的web.config有:

<urlCompression doStaticCompression="true"
    doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
Run Code Online (Sandbox Code Playgroud)

这些模块已经安装,当我使用Failed Request Trace时,我得到了几个动态压缩命中,但没有成功或失败.只是这些类型的结果:

ModuleName DynamicCompressionModule 
Notification …
Run Code Online (Sandbox Code Playgroud)

compression iis-7 http dynamic http-compression

17
推荐指数
1
解决办法
1万
查看次数