علی یوسفی
علی یوسفی
خواندن ۱ دقیقه·۲ سال پیش

فعال سازی Compression در Asp.net Mvc برای افزایش سرعت وبسایت

نحوه فعال سازی Compression در Asp.net Mvc و. افزایش چشم گیر سرعت وبسایت به صورت کاملا کاستومایز و حرفه ای .

ابتدا باید WebmarkupMin Asp.net4 را با ناگت نصب کرده.

سپس باید یک کلاس در پوشه App_Statrt ایجاد کرده و یک اکشن فیلتر به صورت زیر تعریف نماییم:

using System.Collections.Generic; using WebMarkupMin.AspNet.Brotli; using WebMarkupMin.AspNet.Common; using WebMarkupMin.AspNet.Common.Compressors; using WebMarkupMin.AspNet.Common.UrlMatchers; using WebMarkupMin.AspNet4.Common; using WebMarkupMin.Core; using WebMarkupMin.MsAjax; using WebMarkupMin.Yui; namespace KopolArtWebSite { public class WebMarkupMinConfig { public static void Configure(WebMarkupMinConfiguration configuration) { configuration.AllowMinificationInDebugMode = true; configuration.AllowCompressionInDebugMode = true; IHtmlMinificationManager htmlMinificationManager = HtmlMinificationManager.Current; htmlMinificationManager.ExcludedPages = new List<IUrlMatcher> { new WildcardUrlMatcher("/minifiers/x*ml-minifier"), new ExactUrlMatcher("/contact") }; HtmlMinificationSettings htmlMinificationSettings = htmlMinificationManager.MinificationSettings; htmlMinificationSettings.RemoveRedundantAttributes = true; htmlMinificationSettings.RemoveHttpProtocolFromAttributes = true; htmlMinificationSettings.RemoveHttpsProtocolFromAttributes = true; htmlMinificationManager.CssMinifierFactory = new MsAjaxCssMinifierFactory(); htmlMinificationManager.JsMinifierFactory = new MsAjaxJsMinifierFactory(); IXhtmlMinificationManager xhtmlMinificationManager = XhtmlMinificationManager.Current; xhtmlMinificationManager.IncludedPages = new List<IUrlMatcher> { new WildcardUrlMatcher("/minifiers/x*ml-minifier"), new ExactUrlMatcher("/contact") }; XhtmlMinificationSettings xhtmlMinificationSettings = xhtmlMinificationManager.MinificationSettings; xhtmlMinificationSettings.RemoveRedundantAttributes = true; xhtmlMinificationSettings.RemoveHttpProtocolFromAttributes = true; xhtmlMinificationSettings.RemoveHttpsProtocolFromAttributes = true; xhtmlMinificationManager.CssMinifierFactory = new YuiCssMinifierFactory(); xhtmlMinificationManager.JsMinifierFactory = new YuiJsMinifierFactory(); IXmlMinificationManager xmlMinificationManager = XmlMinificationManager.Current; XmlMinificationSettings xmlMinificationSettings = xmlMinificationManager.MinificationSettings; xmlMinificationSettings.CollapseTagsWithoutContent = true; IHttpCompressionManager httpCompressionManager = HttpCompressionManager.Current; httpCompressionManager.CompressorFactories = new List<ICompressorFactory> { new BrotliCompressorFactory(), new DeflateCompressorFactory(), new GZipCompressorFactory() }; } } }

لازم به ذکر است هر کدام از کتابخانه ها که در پروژه شما موجود نبود را باید از همان ناگت نصب کنید، کافیست اسم آن را کپی و در سرچ ناگت جستجو کنید.

مرحله بعدی تنظیم فشرده سازی در Application_Start درست بعد از اینکه route ها را register کردید قرار دهید.

WebMarkupMinConfig.Configure(WebMarkupMinConfiguration.Instance);

مرحله سوم:

درصورتی که این کانفیگ را در وب کانفیگ دارید، حذف کنید.

<!--<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />-->

کار تمام است!

من این این تنظیمات را در سایت خودم(kopolart.ir) فعال کردم و تاثیر بسیار زیادی برام داشت. امیدوارم برای شما هم مفید بوده باشد.

فعال سازی Brotli compression در asp.net mvc
فعال سازی Brotli compression در asp.net mvc


asp net mvcgzip
علی یوسفی هستم، توسعه دهنده دات نت و عاشق دنیای گرافیک، کارهام رو میتونید در وبسایتم ببینید و لذت و ببرید : https://kopolart.ir
شاید از این پست‌ها خوشتان بیاید