Ho difficoltà a rendere IIS 7 comprimere correttamente un risultato Json da ASP.NET MVC. Ho abilitato la compressione statica e dinamica in IIS. Posso verificare con Fiddler che i normali documenti di testo/html e simili sono compressi. Visualizzazione della richiesta, è presente l'intestazione gzip accept-encoding. La risposta ha il mimetype "application/json", ma non è compressa.Come comprimere un risultato Json da ASP.NET MVC con IIS 7.5
Ho identificato che il problema sembra riguardare il MimeType. Quando includo lo mimeType="*/*"
, posso vedere che la risposta è stata correttamente compressa con gzip. Come posso comprimere IIS SENZA usare un mimeType con caratteri jolly? Presumo che questo problema abbia a che fare con il modo in cui ASP.NET MVC genera intestazioni di tipo di contenuto.
L'utilizzo della CPU è ben al di sotto della soglia di limitazione dinamica. Quando esamino i log di traccia da IIS, posso vedere che non riesce a comprimere a causa di non trovare un tipo mime corrispondente.
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" noCompressionForProxies="false">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" 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="application/json" enabled="true" />
</staticTypes>
</httpCompression>
Non riesco a utilizzare un mimetype con caratteri jolly poiché sto riscontrando uno strano problema con IE8: sembra che abbia difficoltà a scaricare un file .zip quando la richiesta è ulteriormente compressa da IIS. Firefox 3.5 non è interessato. –