PDA

View Full Version : Restart کردن application



SalarSoft
سه شنبه 19 مهر 1384, 13:54 عصر
در یه پروژه ای لازم است که تمام محتویات cache پاک بشوند و اطلاعات دوباره ذخیره شوند.
به این علت که تنظیماتی در برنامه هست و با توجه به اون اطلاعاتی زیادی ایجاد و cache می شوند. الیته این تنظیمات ممکن است ماه ها تغییر نکند و فقط admin اجازه تغییر آنها را دارد.

سوال من اینه که آیا راهی است که تمام محتویات cache شده را از بین برد و یا اینکه حداقل application رو restart کرد تا محتویات cache از بین بروند.

Behrouz_Rad
سه شنبه 19 مهر 1384, 14:45 عصر
Cache.Remove("myItem")

SalarSoft
چهارشنبه 20 مهر 1384, 16:19 عصر
مثل اینکه سوء تفاهمی شده.
من گفتم که تمام محتویات کش پاک شه!

خلاصه من به این نتیجه رسیدم.


public void ClearChache(){
string cacheItem;
IDictionaryEnumerator CacheEnum = Cache.GetEnumerator();
while (CacheEnum.MoveNext())
{
cacheItem = CacheEnum.Key.ToString();
Cache.Remove(cacheItem);
}
}

Behrouz_Rad
چهارشنبه 20 مهر 1384, 18:37 عصر
بستگی داره که شما از کدام روش برای قرار دادن آیتم ها در Cache استفاده کنید.
بنده از ArrayList استفاده می کنم پس تنها یک Key دارم و دستور


Cache.Remove("myKey")

به خوبی برای بنده جواب میده.
البته چندی پیش در تاپیکی در مورد Cache اشاراتی داشتم و از دستوراتی شبیه به دستوراتی که نوشتید برای چاپ محتویات تمام آیتم های موجود در Cache استفاده کرده بودم.
موفق باشید.

SalarSoft
سه شنبه 10 آبان 1384, 12:21 عصر
راههای ساده تر:
حذف تمام مقادیر cache شده:

System.Web.HttpRuntime.Close();

باعث پایان یافتن کار application شده و در در خواست بعدی دوباره اجرا خواهد شد. (restart) :

System.Web.HttpRuntime.UnloadAppDomain();