मेरे पास एक क्लास लाइब्रेरी के अंदर कस्टम कैश ऑब्जेक्ट के साथ एक वेबसाइट है। सभी परियोजनाएं चल रही हैं .NET 3.5। मैं इस वर्ग को कैश के बजाय सत्र स्थिति का उपयोग करने के लिए कनवर्ट करना चाहता हूं, ताकि मेरा एप्लिकेशन रीसायकल होने पर राज्य में संरक्षक को संरक्षित किया जा सके। हालांकि जब मैं अपनी Global.asax फ़ाइल से विधियों पर जाता हूं तो यह कोड "HttpContext.Current.Session शून्य है" के साथ अपवाद फेंकता है। मैं इस तरह की कक्षा को कॉल करता हूं:HttpContext.Current.Session शून्य
Customer customer = CustomerCache.Instance.GetCustomer(authTicket.UserData);
वस्तु ऑब्जेक्ट्स क्यों शून्य है?
public class CustomerCache: System.Web.SessionState.IRequiresSessionState
{
private static CustomerCache m_instance;
private static Cache m_cache = HttpContext.Current.Cache;
private CustomerCache()
{
}
public static CustomerCache Instance
{
get
{
if (m_instance == null)
m_instance = new CustomerCache();
return m_instance;
}
}
public void AddCustomer(string key, Customer customer)
{
HttpContext.Current.Session[key] = customer;
m_cache.Insert(key, customer, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 20, 0), CacheItemPriority.NotRemovable, null);
}
public Customer GetCustomer(string key)
{
object test = HttpContext.Current.Session[ key ];
return m_cache[ key ] as Customer;
}
}
आप देख सकते हैं मैं वर्ग के लिए IRequiresSessionState जोड़ने की कोशिश की है, लेकिन है कि कोई फर्क नहीं पड़ता।
चीयर्स जेन्स
यदि आप एप्लिकेशन_स्टार्ट से सत्र तक पहुंचने का प्रयास करते हैं, तो अभी तक कोई लाइव सत्र नहीं है। – onof