در این مطلب از سایت میرممد یک تکه کد آماده براتون میذارم که فشرده سازی 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();
}
امیدوارم مفید بوده باشه.
تبدیل ثانیه به فرمت دقیقه : ثانیه
طراحی و پیاده سازی وبسایت کلینیک قو سپید
طراحی و پیاده سازی وبسایت ISCRC.IR
آموزش مخفی کردن اسکرول بار همراه با کد
آموزش لود اطلاعات با اسکرول کردن در ASP.net MVC