cómo comprimir la salida enviada por una aplicación asp.net mvc ??cómo descomprimir contenido en asp.net MVC?
Respuesta
Esto es lo que yo uso (a partir de este monento en el tiempo):
using System.IO.Compression;
public class CompressAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var encodingsAccepted = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(encodingsAccepted)) return;
encodingsAccepted = encodingsAccepted.ToLowerInvariant();
var response = filterContext.HttpContext.Response;
if (encodingsAccepted.Contains("deflate"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
else if (encodingsAccepted.Contains("gzip"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
}
}
uso en el controlador:
[Compress]
public class BookingController : BaseController
{...}
hay otras variantes, pero esto funciona bastante bien. (Por cierto, yo uso el atributo [Comprimir] en mi BaseController para salvar la duplicación en todo el proyecto, mientras que el anterior se lo hace en un controlador de base del controlador.
[Editar] como se menciona en el párrafo anterior. A simplificar el uso, también puede incluir [Compress]
uno-tiro en el propio BaseController, por lo tanto, todos los controladores de niño heredada accede a la funcionalidad por defecto:.
[Compress]
public class BaseController : Controller
{...}
mismo concepto :) código casi idéntico – veggerby
en realidad, miró su ejemplo - muy similar de hecho - espeluznante :). He estado usando este código durante más de un año, por lo que puedo verificar que funciona muy bien ... –
es posible que pueda hacer algunos ajustes en web.config para hacer la compresión. Una cosa más que quiero saber es cómo comprobar cuánto se agrega la sobrecarga al servidor mediante el código de compresión que estamos ejecutando aquí. –
Tener un vistazo a este artículo que describe un método ingenioso que utiliza filtros de acción
por ejemplo,
[CompressFilter]
public void Category(string name, int? page)
Y como un bono adicional, también incluye un CacheFilter
okie, probando esto, una cosa más que quiero saber, ¿cómo puedo verificar si los datos que recibí del servidor de IAM son comprimidos o no? –
Use Firebug como en el artículo y mire el encabezado de respuesta – veggerby
No funciona en MVC5, IIS 8.5 y .Net 4.5, cualquier ayuda será apreciada. –
también puede aumentar el rendimiento mediante el uso de la compresión y almacenamiento en caché de los datos de respuesta Eche un vistazo al siguiente enlace: -
http://weblogs.asp.net/rashid/asp-net-mvc-action-filter-caching-and-compression
- 1. Cómo transmitir contenido parcial con ASP.NET MVC FileStreamResult
- 2. ¿Cómo descomprimir el contenido de un archivo JavaScript?
- 3. ASP.net MVC 4 WebAPI - Pruebas de contenido MIME de varias
- 4. Cómo descomprimir/descomprimir dentro de Emacs
- 5. ASP.NET MVC Cómo administrar el contenido del usuario utilizando el proveedor de membresía ASP.NET
- 6. JavaScript: Descomprimir/inflar/descomprimir/descomprimir cadenas
- 7. ASP.NET MVC páginas maestras anidadas, heredad de contenido
- 8. ASP.NET MVC y texto/tipo de contenido xml
- 9. imágenes ASP.NET MVC y otros url contenido estático
- 10. Temas Asp.Net MVC, ¿cómo?
- 11. ASP.NET MVC - ¿Cómo explicarlo?
- 12. Subdominios dinámicos en asp.net mvc
- 13. ¿Cómo transmitir contenido de video en asp.net?
- 14. ASP.NET MVC en IIS6
- 15. múltiples formas en ASP.NET MVC
- 16. Sitecore y ASP.net MVC
- 17. Html.TextAreaFor en asp.net mvc
- 18. ¿Cómo descomprimir html en javascript?
- 19. ¿Deshabilitar diseño en ASP.NET MVC?
- 20. Personificación en ASP.NET MVC
- 21. ASP.NET MVC - Ajaxified RenderAction
- 22. LinkButton en ASP.NET MVC
- 23. ReturnUrl en ASP.NET MVC
- 24. HTML.Button en ASP.NET MVC
- 25. ASP.NET MVC en Mono
- 26. IronPython en ASP.NET MVC
- 27. ASP.NET MVC SEO URL
- 28. ASP.NET MVC - ¿Cómo redireccionar seguro?
- 29. ¿Cómo lo soluciona asp.net mvc?
- 30. ¿Cómo descomprimir xlsx?
¿Por qué no establecer ' ' 'o incluso ' 'en web.comfig' http://www.iis.net/configreference/system.webserver/httpcompression http://stackoverflow.com/questions/9235337/gzipping-content-files-in-asp-net-mvc-3? –
Kuncevic