为什么IIS 7忽略某些(但不是全部)MIME类型进行压缩?给出错误:DYNAMIC_COMPRESSION_NOT_SUCCESS - 原因12

Modified on: Sat, 03 Aug 2019 18:20:03 +0800

所以,我有点像IIS7 n00b但是我已经使用了大多数旧的IIS系统回到3.我试图打开动态压缩,它主要是工作的。它不适用于我的ADO.Net数据服务(Astoria)请求,无论是否批处理。

我发现失败的请求(FREB)跟踪,这真的很有帮助。我在未加修复的请求中看到的是Reason Code 12, NO_MATCHING_CONTENT_TYPE。好的,所以我没有指定匹配的MIME类型,这很容易。

除了这是我在web.config中的内容(我认为这是正确的,但可能不是)。

<httpCompression dynamicCompressionDisableCpuUsage="100"
                 dynamicCompressionEnableCpuUsage="100"
                 noCompressionForHttp10="false"
                 noCompressionForProxies="false"
                 noCompressionForRange="false"
                 sendCacheHeaders="true"
                 staticCompressionDisableCpuUsage="100"
                 staticCompressionEnableCpuUsage="100">
    <dynamicTypes>
        <clear/>
        <add mimeType="*/*"
             enabled="true" />
    </dynamicTypes>
    <staticTypes>
        <clear/>
        <add mimeType="*/*"
             enabled="true" />
    </staticTypes>
</httpCompression>
<urlCompression doDynamicCompression="true"
                doStaticCompression="true"
                dynamicCompressionBeforeCache="false" />

现在我认为这意味着它应该压缩包含Accept:Gzip标头的任何请求。我很想知道别人在这里会想到什么。

我的小提琴追踪:

GET /SecurityDataService.svc/GetCurrentAccount HTTP/1.1
Accept-Charset: UTF-8
Accept-Language: en-us
dataserviceversion: 1.0;Silverlight
Accept: application/atom+xml,application/xml
maxdataserviceversion: 1.0;Silverlight
Referer: http://sdev03/apptestpage.aspx
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.21022; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
Host: sdev03
Connection: Keep-Alive
Cookie: .ASPXAUTH=<snip>


HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/atom+xml;charset=utf-8
Server: Microsoft-IIS/7.0
DataServiceVersion: 1.0;
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 22 Mar 2010 22:29:06 GMT
Content-Length: 2726

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
*** <snip> removed ***

最佳答案

好的,事实证明你无法在web.config中配置它,只能配置appHost.config。我认为文档确实说过appHost.config,但我认为它是一般概念的规范,而不是唯一允许的配置位置。


相关问答

添加新评论