だから、私は少しIIS7 n00bですが、3に戻って古いIISシステムのほとんどを使用しました。動的圧縮を有効にしようとしていますが、ほとんど機能しています。ADO.Net Data Service(Astoria)のリクエストに対して、バッチ処理されていてもされていなくても機能しません。
失敗した要求(FREB)トレースが見つかりましたが、これは非常に役立ちました。そして、私はバッチ処理されていないリクエストで見ますReason Code 12, NO_MATCHING_CONTENT_TYPE
。OK、一致する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
繰り返しますが、これらの変更が行われた後は、メモ帳でのみ表示されます。Notepad ++(およびVisual Studio 2010エディター!!)