کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش MVC Core -ASP.NET Core 2.0 Response Compression

ASP.NET Core 2.0 Response Compression


Problem

نحوه فشرده سازی responses در ASP.NET Core


Solution

برای یک پروژه خالی، services و middleware را برای فشرده سازی در Startup پیکربندی (configure) می کنیم.

public void ConfigureServices(  
       IServiceCollection services)  
   {  
       services.AddResponseCompression();    
       services.AddMvc();  
   }    
   public void Configure(  
       IApplicationBuilder app,  
       IHostingEnvironment env)  
   {  
       app.UseResponseCompression();    
       app.UseMvcWithDefaultRoute();  
   }

یک Controller با اکشن Index که اطلاعاتی را به View انتقال دهد را اضافه می کنم.

ASP.NET Core Response Compression

@for(int i = 0; i < 10000; i++)   
{  
    Testing Response Compression: @i  
}  

به اندازه و زمان response قبل و بعد از فشرده سازی (compression) توجه کنید.


آموزش MVC Core

Discussion

هنگامی که شما قادر به استفاده از ویژگی های فشرده سازی سرورهای وب نیستید(IIS, Apache, Nginx)، ASP.NET Core یک گزینه متناوب، Response Compression middleware را فراهم می کند. عملکرد آن با ویژگی های فشرده سازی مبتنی بر سرور(server-based) مطابقت ندارد.
client برای درخواست قابلیت های فشرده سازی « Accept-Encoding» در درخواست خود ارسال می کند. سرور با Content-Encoding پاسخ می دهد،که نشان می دهداز فشرده سازی استفاده شده است. Response Compression middleware به طور پیش فرض فشرده سازی gzip را پشتیبانی می کند.

Compression Level

سطح پیش فرض فشرده سازی سریعترین راه برای فشرده سازی با سرعت بیشتری است. شما می توانید برای maximum فشرده سازی آن را به Optimal تغییر دهید.

services.Configure(options =>  
   {  
       options.Level = CompressionLevel.Optimal;  
   });    
   services.AddResponseCompression(options =>  
   {  
       options.Providers.Add();  
   });  

با این حال، به اندازه و زمان توجه کنید! بیش از 1 ثانیه طول کشید (در مقایسه با سریعترین سطح)، اما از لحاظ اندازه (0.4 کیلو بایت) از مقدار زیادی برخوردار نبودیم. برای تصمیم گیری در مورد سطح مناسب، باید بر روی وب سایت واقعی آزمایش کنید.


آموزش MVC Core

HTTPS Compression

با استفاده از EnableForHttps، فشرده سازی می تواند برای HTTPS فعال باشد، اما ممکن است منجر به مسائل امنیتی شود.

services.AddResponseCompression(options =>  
     {  
         options.EnableForHttps = true;  
     });

فایل مربوط به آموزش ضمیمه می باشد .

1397/03/01 2628 1827
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...