그래서 나는 약간의 IIS7 n00b이지만 3으로 돌아가는 대부분의 오래된 IIS 시스템을 사용했습니다. 동적 압축을 켜려고하는데 주로 작동합니다. 일괄 처리 여부에 관계없이 ADO.Net Data Service (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 ***
"C:\Windows\System32\Inetsrv\Appcmd.exe" set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/javascript',enabled='True']" /commit:apphost
그리고 다시 :이 변경 후-메모장에서만 볼 수 있습니다. 메모장 ++ (Visual Studio 2010 편집기뿐만 아니라 !!)