رامین اسلامی

نحوه کش کردن یک متد اکشن asp.net core

در asp.net core میتوان دسترسی به بانک اطلاعاتی و دریافت اطلاعات را با ذخیره آن در حافظه کش سرور به حداقل رساند .با این کار سرعت اجرای صفحات به صورت چشمگیری افزایش می یابد.بدین منظور مراحل زیر را دنبال نمایید

نحوه کش کردن یک متد اکشن asp.net core - مدرسه آنلاین دورآموز

آموزش کش کردن یک اکشن متد در asp.net core

در asp.net core میتوان دسترسی به بانک اطلاعاتی و دریافت اطلاعات را با ذخیره آن در حافظه کش سرور به حداقل رساند .با این کار سرعت اجرای صفحات به صورت چشمگیری افزایش می یابد.
بدین منظور مراحل زیر را  دنبال نمایید


تنظیم فایل startup

  public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => false;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });
 
     
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            //این کد را اضافه کنید
             services.AddMemoryCache();
        }

تزیق وابستگی IMemoryCache

private readonly IMemoryCache _memoryCache;
 
        //  private readonly ILogger _logger;
public HomeController(IMemoryCache memoryCache)
 {
    _memoryCache = memoryCache;
           
 }

بررسی وجود حافظه کش

YourModel cache;
bool isExist = _memoryCache.TryGetValue("CacheModel", out cache);
if (!isExist)
    {
                cache = await YourMethode();
 
                var cacheEntryOptions = new MemoryCacheEntryOptions();
                   cacheEntryOptions.SlidingExpiration = TimeSpan.FromSeconds(1800);
                cacheEntryOptions.Priority = CacheItemPriority.Normal;
 
                _memoryCache.Set("CacheModel", cache, cacheEntryOptions);
 
            }

در کد فوق YourMethode نام متدی است که میخواهید فراخوانی شود و YourModel  مدلی است که متد باید برگرداند
SlidingExpiration : مدت زمان ذخیره در کش ۳ ساعت تنظیم شده است
Priority : میزان اهمیت حافظه تا در صورت شرایط بحرانی به ترتیب بتواند حافظه را پاک سازی نماید
 


رامین اسلامی-مدرسه آنلاین دورآموز

رامین اسلامی

مدیر وب سایت دورآموز ، تیم برنامه نویسی جی وب و امور مشترکین مخابرات . برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک سازمان فنی و حرفه ای

به نام خدا

رامین اسلامی هستم ، مدیر وب سایت دورآموز ،مدیر پروژه تیم جی وب ، برنامه نویس هریس کامپیوتر شعبه کانادا و برنامه نویس و مدرس زبان های برنامه نویسی .

من  یک توسعه‌دهنده نرم‌افزار و از علاقمندان فن‌آوری‌های مایکروسافت هستم و دوست دارم روی آنها کار کنم. حوزه اصلی تمرکز من روی C#.Net، Asp.Net، Sqlserver، Entity Framework، MVC، Web API، Jquery و Maui می باشد

  •  ProductRaes@Gmail.com
  •  09155143391

 

بیش از 7 سال سابقه در مدیریت پروژه سیستم طرح جامع امور مشترکین مخابرات استان خراسان رضوی ، 4 سال مدیریت تیم برنامه نویسی شبکه سبز ، 7 سال مدیر وبسایت دورآموز و 20 سال سابقه آموزش در آموزشگاه های مشهد و تهران  را دارا می باشم.

یکی از زیباترین لحظات زندگیم ، آموزش هرآنچه فراگرفته ام و مشاهده پیشرفت شاگردانم می باشد.و باعث سرافراری و خرسندی من می باشد که تعداد زیادی از شاگردان قدیمیم همکاران و رقیبان کاری حال حاضر من می باشند.

سابقه برنامه نویسی من

بیش از 7 سال سابقه در مدیریت پروژه سیستم طرح جامع امور مشترکین مخابرات استان خراسان رضوی شامل بخش های :امورمشترکین , ام دی اف , سالن دستگاه , رئیس مرکز , واگذاری خطوط , آبونمان - مدیر پروژه تیم برنامه نویسی جی وب -  سیستم pap مخابرات -  سیستم اداره ترابری مخابرات -  سیستم حسابداری پویا - ویندوز جادویی پویا - سیستم  سهام شرکت تعاونی آتیه شرق - مدیریت فروش سوپرگوشت  - سایت فروش آسان تست - ۱۰ مجموعه تست و آموزش تصویری آسان تست - خودآزمون  حسابداری  - خودآزمون دیپلم کامپیوتر  -  وبسایت آموزشگاه کامپیوتر پژوهش  - وبسایت آزمون های بین المللی ICDL پاسارگاد  - وب سایت فرش ستاره کویر یزد  -  سیستم حسابداری گل فروشی ایمانا  -  سایت رسمی شرکت پیمانکاری peykavan مالزی  -  انجمن داروخانه های خراسان  - سیستم کنترل تولید شرکت پارس اورتوپد  - فروشگاه اینترنتی قاصتک  - سامانه  فروش بلیط هواپیما مسترتیکو  - پنل مدیریت (CMS) asp.net core  -  باربری حجت بار  و …

سابقه تدریس من

بیش از ۲۰ سال تدرس زبان های برنامه نویسی و گرافیکی و بانک های اطلاعاتی  ,  آموزش کارکنان شرکت گاز مشهد ,  آموزش کارکنان شرکت گاز سرخس ,  آموزش کارکنان اداره مخابرات , آموزش در اموزشگاه های معتبر خراسان رضوی نظیر پاسارگاد ، آراد ، پژوهش ، سنا ، کاسپین و … آموزشگاه رهرو - تهران

فعالیت های من

برگزاری دوره های تخصصی برنامه نویسی در دفتر تیم برنامه نویسی جی وب در شهر مشهد , مشاوره در طراحی بانک های اطلاعاتی , مشاوره و مدیریت پروژه های برنامه نویسی , برنامه نویسی برنامه های کاربردی , برنامه نویسی وب سایت , برنامه نویسی موبایل

 

  • productraes@gmail.com
  • 09155143391
پرسش و پاسخ
  • مرتضی سلطانپور

    با تشکر از شما بابت مطلب خوبتون. با این روش میشه راحت کش رو بصورت داینامیک طراحی کرد بطوریکه از پنل مدیریت تک تک صفحات قابل کنترل باشند.

    یکشنبه، ۰۴ خرداد ۱۳۹۹ ساعت ۱۳:۵۸:۱۸
    • رامین اسلامی

      سلام . بله می توان از روش کش کردن حافظه برای مشاهده اطلاعاتی که زیاد تغییراتی ندارند استفاده نمایید . در پنل مدیریت باید با تغییر اطلاعات و یا ثبت اطلاعات جدید کش قبلی را حذف و کش جدید ایجاد نمایید

      سه شنبه، ۰۶ خرداد ۱۳۹۹ ساعت ۱۳:۱۷:۵۲
  • هادی

    سلام در صورت امکان، با ریزورپیچز هم قرار بدید سپاسگذارم

    یکشنبه، ۲۱ شهریور ۱۴۰۰ ساعت ۲۱:۴۰:۱۹
    • رامین اسلامی

      سلام کافیست در Razor Pages تزریق وابستگی رو به صورت @inject قرار دهید

      دوشنبه، ۲۲ شهریور ۱۴۰۰ ساعت ۱۱:۵۰:۰۸
نوشته های دیگر این نویسنده

عضوی از دورآموز شو

درخواست مشاوره رایگان می باشد . فقط کافیست شماره همراه خود را ثبت نمایید تا با شما تماس بگیریم

و یا می توانید هم اکنون با شماره 09155143391تماس حاصل نمایید

دورآموزی
شو