हाल ही में मैं एएसपी.नेट में कैशिंग की संभावनाओं की जांच कर रहा हूं।
मैंने अपना खुद का "कैश" घुमाया, क्योंकि मुझे कोई बेहतर नहीं पता था, यह थोड़ा सा दिखता था:
public class DataManager
{
private static DataManager s_instance;
public static DataManager GetInstance()
{
}
private Data[] m_myData;
private DataTime m_cacheTime;
public Data[] GetData()
{
TimeSpan span = DateTime.Now.Substract(m_cacheTime);
if(span.TotalSeconds > 10)
{
//Do SQL to get data
m_myData = data;
m_cacheTime = DateTime.Now;
return m_myData;
}
else
{
return m_myData;
}
}
}
इसलिए मान एक सिंगलटन में थोड़ी देर के लिए संग्रहीत होते हैं, और जब समय समाप्त हो जाता है, तो मान नवीनीकृत होते हैं। यदि समय समाप्त नहीं हुआ है, और डेटा के लिए अनुरोध किया जाता है, तो फ़ील्ड में संग्रहीत मूल्य लौटाए जाते हैं।
वास्तविक विधि का उपयोग करने के लाभ क्या हैं ( http://msdn.microsoft। कॉम/एन-यूएस/लाइब्रेरी/aa478965.aspx ) इसके बजाए?