2010-05-21 14 views
8

की अवधि समाप्त करने के लिए मजबूर करें क्या HttpContext के कैश संग्रह में सभी प्रविष्टियों की समाप्ति को बल देने के लिए कोई विधि या कुछ है?सभी एएसपी.NET कैश को

+2

एएसपी.Net सर्वर को पुनरारंभ करें :) – Earlz

+0

और यदि इसकी साझा होस्टिंग हो तो क्या होगा? आप इसे पुनरारंभ नहीं कर सकते मैं विश्वास करता हूँ? – Rushino

उत्तर

16

इस तरह की कोशिश कुछ:

var enumerator = HttpRuntime.Cache.GetEnumerator(); 
Dictionary<string, object> cacheItems = new Dictionary<string, object>(); 

while (enumerator.MoveNext()) 
    cacheItems.Add(enumerator.Key.ToString(), enumerator.Value); 

foreach (string key in cacheItems.Keys) 
    HttpRuntime.Cache.Remove(key); 
+0

यूप, यह काम करना चाहिए। मैंने पहले इस दृष्टिकोण का उपयोग किया है। – Pandincus

+1

कैश आइटम रखने के लिए शब्दकोश का उपयोग क्यों करें? आपको केवल चाबियाँ पकड़नी होगी; ऐसा लगता है कि एक सूची इसकी देखभाल करेगा। –

+0

अच्छा बिंदु। मैं बस सोच रहा था कि मुझे उस डेटा को चारों ओर रखने की जरूरत है क्योंकि आप गणनाकर्ता पर एक foreach के दौरान हटाने में सक्षम नहीं होंगे। – Tejs

0

क्या कैश समाप्त करने के लिए अद्यतन करने के बारे में?

protected void btnClearCache_Click(object sender, EventArgs e) 
{ 

    var enumerator = HttpRuntime.Cache.GetEnumerator(); 

    while (enumerator.MoveNext()) 
     HttpRuntime.Cache.Insert(enumerator.Key.ToString(), enumerator.Value, 
      null, DateTime.Now , Cache.NoSlidingExpiration); 
} 
संबंधित मुद्दे