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

مشخصات

تبلیغات

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

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

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

پایگاه ازنا-مطالب کوهنوردی وب سایت تخصصی روانشناسی جی ان بلاگ بهـ روشنــی ِ اتفـــاقـ z2u.com مقاله نویسی گروه پولساز تفریحستان قفس فروشگاه توت فایل