امیدوارم مطالب خوب و کاربردی رو بتونم در سایتم برای شما دوستان قرار بدم.
در این مطلب از سایت میرممد یک تکه کد آماده براتون میذارم که فشرده سازی Gzip رو برای شما روی ASP.net MVC انجام میده.
سبک بودن و لود سریع صفحات اهمیت زیادی در سئو داره.
برای این کار کلاس زیر را با اسم Compress.cs در فولدر App_Start بسازید :
using System.IO.Compression;
using System.Web.Mvc;
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);
}
}
}
حالا کافیه که هر جا خواستید فشرده سازی صورت بگیره از اتریبیوت [Compress] بالای کنترلر یا یک اکشن استفاده کنید :
[Compress]
public ActionResult Books()
{
return View();
}
امیدوارم مفید بوده باشه.