در این مطلب از سایت میرممد یک تکه کد آماده براتون میذارم که فشرده سازی 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();
        }

امیدوارم مفید بوده باشه.


میرممد         ,response ,encodingsaccepted ,compress ,filter ,gzip ,response filter ,        {            ,فشرده سازی ,            response ,filter compressionmode ,response filter compressionmode ,filter compression منبع

مشخصات

تبلیغات

آخرین مطالب این وبلاگ

آخرین ارسال ها

آخرین جستجو ها

zibabashim سرگرمی Web Design Studio Pro عقیق یمنی شرکت مسافربری اخبار جامع تخصصی تکنولوژی و رایانه هر چی که بخوای