غیر فعال کردن caching مرورگر در MVC

غیر فعال کردن caching مرورگر در MVC

شما میتوانید کاربران سایت را مجبور کنید تا همیشه آخرین نسخه یک صفحه وب را مشاهده کنند. به این معنی که حتی اگر از دکمه Back مرورگر نیز استفاده کرده باشند بازهم آخرین تغییرات از سرور به صفحه ارسال گردد.
گاه و بی گاه از من پرسیده میشه چطور میشه مطمعن بود که کاربران آخرین نسخه از یک صفحه وب را مشاهده میکنند. همانطور که میدانید مروزگرها اطلاعات صفحات را cache میکنند تا از بارگزاری مجدد انها جلوگیری کنند این مزیت به وفور در استفاده از دکمه Back مرورگرها دیده میشه.
اما گاهی این مزیت کش کردن مرورگرها بصورت یک عیب خودشون نشون میدن. برخی از برنامه نیاز است که هر بار اطلاعات جدید در صفحه نمایش داده شود حتی زمانی که از دکمه back  مرورگر استفاده میکنیم. این مورد در صفحات بانکداری اینترنتی بسیار مرسوم است البته بیشتر مواقع راهکاری در نطر گرفته میشود که در صورت استفاده از دکمه Back  شما از حساب کاربری خود خارج میشود!! برای برطرف کردن این مشکل به شکل معقول بهتر است از attribute ، OutputCache  استفاده کنید. بدین شکل میتوانید ویژگی caching  مرورگرها را از طریق کد برنامه خودتان مدیریت کنید.
خاصیت OutputCache  یه خاصیت شگفت انگیزه ! با نسبت دادن این خاصیت به یک متد در MVC ASP.net باعث میشه ASP.Net از آن متد در بار دوم فراخوانی صرف نظر کنه.
برا اینکه اطلاعات مجدد از سرور دریافت شود باید خاصیت Duration این ویژگی را برابر صفر قرار داد.
کد زیر خاصیت های OutputCache را بگونه ای Set کرده است که میتوانید مطمعن شوید هرگز از cache  مرورگر استفاده نخواهد شد.

<OutputCache(Duration := 0, NoStore := True, Location := System.Web.UI.OutputCacheLocation.None)> 
Public Function Index As ActionResult

 

مرتضی جنگجو

برنامه نویس fullstack با بیش از 14 سال سابقه کار و همکاری در توسعه و پیاده سازی نرم افزارهای تحت وب با تکنولوژی Net. در شرکتهای بزرگ ایرانی، هلندی، فنلاندی و ترکیه

شبکه های اجتماعی نویسنده

دیدگاه کاربران