enable compresion asp.net asp.net-mvc json iis-7 http-compression

compresion - Cómo comprimir un resultado Json de ASP.NET MVC con IIS 7.5



gzip web config (4)

Asegúrese de que % WinDir% / System32 / inetsrv / config / applicationHost.config contenga estos:

<system.webServer> <urlCompression doDynamicCompression="true" /> <httpCompression> <dynamicTypes> <add mimeType="application/json" enabled="true" /> <add mimeType="application/json; charset=utf-8" enabled="true" /> </dynamicTypes> </httpCompression> </system.webServer>

Desde el link de @AtanasKorchev.

Como @simon_weaver dijo en los comentarios, es posible que esté editando el archivo incorrecto con un editor de 32 bits en un Windows de 64 bits, use notepad.exe para asegurarse de que este archivo se modifique.

Tengo dificultades para hacer que IIS 7 comprima correctamente un resultado Json de ASP.NET MVC. He habilitado la compresión estática y dinámica en IIS. Puedo verificar con Fiddler que el texto normal / html y los registros similares están comprimidos. Al ver la solicitud, el encabezado gzip de aceptación de codificación está presente. La respuesta tiene el tipo mimet "application / json", pero no está comprimido.

Identifiqué que el problema parece estar relacionado con MimeType. Cuando incluyo mimeType mimeType="*/*" , puedo ver que la respuesta tiene gzip correctamente. ¿Cómo puedo hacer que IIS comprima SIN usar un mimeType comodín? Supongo que este problema tiene algo que ver con la forma en que ASP.NET MVC genera encabezados de tipo de contenido.

El uso de la CPU está muy por debajo del umbral de aceleración dinámica. Cuando examino los registros de seguimiento de IIS, puedo ver que no se comprime debido a que no se encuentra un tipo de mime coincidente.

<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>


He utilizado con éxito el enfoque resaltado link .


Recomiendo este enfoque
Cree la clase CompressAttribute y establezca la acción de destino.


Usa esta guía

Ninguna de estas respuestas funcionó para mí. Tomé nota de la aplicación / json; charset = utf-8 mime-type sin embargo.