Jadi, saya sedikit dari IIS7 n00b tetapi saya telah menggunakan sebagian besar sistem IIS lama kembali ke 3. Saya mencoba untuk menghidupkan kompresi dinamis dan itu berfungsi, kebanyakan. Tidak berfungsi untuk permintaan Layanan Data ADO.Net saya (Astoria), batched atau tidak.
Saya menemukan penelusuran permintaan gagal (FREB) yang sangat membantu. Dan apa yang saya lihat pada permintaan yang tidak cocok adalah Reason Code 12, NO_MATCHING_CONTENT_TYPE
. OK, jadi saya tidak menentukan jenis MIME yang cocok, itu mudah.
Kecuali ini yang saya miliki di web.config saya (yang menurut saya benar, tapi mungkin tidak).
<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" />
Sekarang saya berpikir bahwa ini berarti harus memampatkan setiap permintaan yang menyertakan header Terima: Gzip. Saya ingin tahu apa yang dipikirkan orang lain di sini.
Jejak pemain biola saya:
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
Dan lagi: setelah perubahan ini dibuat - Anda akan melihatnya hanya di notepad. Notepad ++ (dan juga editor Visual Studio 2010 !!)