در نرم افزارهای تحت وب گاهی اوقات نیاز پیدا می کنید که تمام
منابعی که در حافظه 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 استفاده نموده اند از قطعه کد زیر استفاده نمایید.
موفق باشید.