asp.net ajax json gzip

¿Cómo puedo hacer que ASP.NET AJAX envíe su repsonse JSON con compresión GZip?



(3)

Debes verificar que la extensión de archivo .asmx esté en la lista de tipos de archivos para comprimir, aquí es donde proviene el ajax json.

He habilitado la compresión dentro de IIS7 y funciona como se esperaba en todas las respuestas, excepto en las creadas por ASP.NET AJAX. Tengo un servicio web que proporciona datos al cliente. Cuando se llama directamente al servicio web, está comprimido correctamente. Sin embargo, cuando se llama a través de ASP.NET AJAX, la respuesta JSON no se comprime.

¿Cómo puedo obtener ASP.NET AJAX para enviar su respuesta JSON con compresión GZip?


Esto debería funcionar de la caja. Para verificar que mis respuestas ASP.NET AJAX JSON utilizan compresión GZip:

  1. Descargar Fiddler (la versión 2.1.9 es la última)

  2. Habilitar Fiddler en IE 7: Herramientas -> Fiddler2

  3. Como todo el tráfico se enruta a través del proxy, debe configurar Fiddler para que aplique la codificación de aceptación: Gzip en el encabezado HTTP. Reglas -> Aplicar codificación GZip

  4. Visita tu sitio a través de Fiddler. Si su sitio está en localhost, IE7 no enrutará esto a través de fiddler. Fiddler 2.1.8 tiene una característica clara que asigna localhost (127,0.0.1) a http: //ipv4.fiddler y http: //ipv6.fiddler

  5. Encuentra la solicitud de asmx en las sesiones de Fiddler.

Para verificar que la solicitud se realizó con la codificación gzip, consulte los encabezados de solicitud en el panel superior. Debería ver "Cliente: accept-encoding: gzip, deflate"

Para verificar que la respuesta se envió con codificación gzip, consulte los encabezados de respuesta en el panel inferior. Debería ver "Transporte: Codificación de contenido: gzip"

Tengo IIS 7 instalado en Vista Business SP1 sin configuración adicional, mi proyecto utiliza ASP.NET AJAX con servicios web estándar.

¡Espero que ayude!


También asegúrese de que la solicitud JSON tenga, por ejemplo, codificación de aceptación: gzip en el encabezado HTTP.