محتویات سایت
        برچسب های محبوب 








 
   خالی نمودن تمامی حافظه Cache شده در ASP.NET
  ترفندی در مورد خالی نمودن تمامی اطلاعات Cache شده در وب سایت
   ASP.NET
   ۳۶۶۲۲
   این مقاله حاوی فایل ضمیمه نمی باشد
   مرتضی صحراگرد
   ۱۳۸۷/۵/۱۵
نسخه قابل چاپ نسخه قابل چاپ

در نرم افزارهای تحت وب گاهی اوقات نیاز پیدا می کنید که تمام منابعی که در حافظه Cache ذخیره شده اند را حذف نمایید تا دفعه بعد با اطلاعات جدید پر شوند.
در مورد Session State متدی به نام Abandon وجود دارد که با فراخوانی آن، تمامی اطلاعات ذخیره شده در حافظه Session برای کاربر مورد نظر خالی می شود ولی در مورد حافظه Cache چنین متدی وجود ندارد.
با استفاده از تکنیک زیر می توانید حافظه Cache را به طور کامل خالی نمایید.


//www.30sharp.com
IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
List<string> itemsToRemove = new List<string>();
while (enumerator.MoveNext())
{

   itemsToRemove.Add(enumerator.Key.ToString());
}
foreach (string itemToRemove in itemsToRemove)
   HttpContext.Current.Cache.Remove(itemToRemove);

تذکر :

به یاد داشته باشید که این ترفند در مورد صفحاتی که از OutputCache استفاده نموده اند کارساز نیست.

برای خالی نموندن حافظه Cache شده در صفحاتی که از OutputCache استفاده نموده اند از قطعه کد زیر استفاده نمایید.

HttpRuntime.Close();

موفق باشید.