آموزش برنامه‌نویسی از صفر ، بدون پیش‌نیاز، برای تمام سنین! آموزش برنامه‌نویسی ، از صفر بدون پیش‌نیاز!
🎯 شروع یادگیری
ورود کاربر جدید هستید؟ ثبت نام کنید
بستن تبلیغات
تسلط کامل بر سی‌شارپ با یک دوره پروژه‌محور

یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شی‌گرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفه‌ای و امکانات کامل!

مشاهده بیشتر
تسلط جامع بر MVC Core برای توسعه وب حرفه‌ای

یادگیری MVC Core از مبانی تا پیشرفته: شی‌گرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژه‌های کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!

مشاهده بیشتر

حافظه پاسخASP.NET MVC Core 2.0

ASP.NET Core 2.0 Response Caching

Problem

نحوه ذخیره(cache) responses در ASP.NET Core.

Solution

برای یک پروژه خالی ایجاد کنید، services و middleware برای ذخیره در Startup پیکربندی کنید،

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void ConfigureServices( 
       IServiceCollection services) 
   
       services.AddResponseCaching();   
       services.AddMvc(); 
   }   
   public void Configure( 
       IApplicationBuilder app, 
       IHostingEnvironment env) 
   
       app.UseResponseCaching();   
       app.UseMvcWithDefaultRoute(); 
   
<button></button>

یک کنترلر ایجاد کنید، و ویژگی [ResponseCache] را اضافه کنید:

1
2
3
4
5
6
7
8
9
10
11
12
[ResponseCache(Duration = 60)] 
 public class HomeController : Controller 
 
     public IActionResult Index() 
     
         return View(new HomeOutputModel 
         
             LastUpdated = DateTime.Now 
         }); 
     
 
<button></button>

پاسخ حاوی یک هدر Cache-Control است.

آموزش Xamarin

همانطور که بین کنترلر با قابلیت ذخیره سازی(caching) (Home) و یکی دیگر بدون آن (Movies) حرکت می کنید، متوجه خواهید شد که زمان به روزرسانی نشده است، یعنی آن را از سرور دریافت نمی کند بلکه از حافظه پنهان دریافت می کند.

آموزش Xamarin

Discussion

Response Caching middleware مسئول ذخیره و خدمت به پاسخ از cache است. هدرهای مرتبط با حافظه پنهان را به پاسخ HTTP اضافه می کند،و Cache-Control اصلی آن است.

هنگامی که middleware تنظیم می شود، ویژگی [ResponseCache] به controller / action اعمال می شود تا caching را فعال کند. این ویژگی دارای برخی از پارامترهای مفید برای تغییر رفتار middleware است.

  • Duration : استفاده از تنظیم زمان کش (در ثانیه).
  • Location : به هدر Cache-Control به عنوان public ، private یا no-cache ترجمه می شود.
  • VaryByQueryKeys: پاسخ ها بر اساس پارامترهای query string ذخیره می شوند.
  • VaryByHeader: استفاده می شود تا هدر پاسخ Vary HTTP را تنظیم کند.
  • CacheProfileName: میتواند به تنظیمات پروفایل حافظه پنهان در middleware MVC اشاره کند (نگاه کنید به زیر).
1
2
3
4
5
6
7
8
9
services.AddMvc(options => 
        
            options.CacheProfiles.Add("default", new CacheProfile 
            
                Duration = 30, 
                Location = ResponseCacheLocation.Any 
            }); 
        }); 
<button></button>

Logging

شما می توانید ورود به سیستم را فعال کنید تا عملکرد میان افزار Response Caching middleware را مشاهده کنید. در زیر اولین درخواست برای Home / Index است (خطوط highlighted را ببینید). درخواست های بعدی در این چرخه عمر(lifecycle) قرار می گیرند و به صفحه از حافظه پنهان (تا تاریخ انقضای آن) خدمت می کنند:

آموزش Xamarin

source code را می توانید از لینک زیر دانلود کنید:

1396/08/10 2548 1986
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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