2012-01-23 14 views
30

मुझे एक समस्या का सामना करना पड़ रहा है।asp.net में विशिष्ट सत्र को कैसे निकालें?

  1. Session["userid"] = UserTbl.userid;
  2. Session["userType"] = UserTbl.type;

मैं जानता हूँ कि Session.clear() का उपयोग कर सत्र को निकालने का तरीका: मैं दो सत्रों बनाया है। मैं "userType" सत्र को हटाना चाहता हूं।

मैं एक विशिष्ट सत्र को कैसे हटा सकता हूं?

+0

सत्र के लिए शून्य सेट करें ["userType"] – ASpirin

+3

सत्र के बारे में क्या। निकालें ("उपयोगकर्ता टाइप"); – ThePower

उत्तर

35

सत्र कंटेनर की तरह कुछ भी नहीं है, तो आप इसे के रूप में अशक्त

बल्कि आप सेट कर सकते हैं अलग-अलग सत्र तत्व के रूप में अशक्त सेट कर सकते हैं या ""

तरह Session["userid"] = null;

+0

धन्यवाद मिराकल! यह काम करता हैं !! – Chintan

+1

आपका स्वागत है ... –

+0

जब मैं वापस हिट करता हूं तो सत्र समाप्त होने के बावजूद यह मुख्य पृष्ठ को लोड करता है। – Si8

56
Session.Remove("name of your session here"); 
+0

सत्र है। थ्रेड सुरक्षित हटा दें? – RezaRahmati

+0

@RezaRahmati मैं इसका उत्तर भी जानना चाहूंगा – WhatsThePoint

+0

@WhatsThePoint ऐसा लगता है कि डिफ़ॉल्ट रूप से पाठक/लेखक लॉक https://msdn.microsoft.com/en-us/library/aa479041 पर है .aspx – RezaRahmati

28

आप कर सकते हैं सत्र का उपयोग करें। निकालें() विधि; Session.Remove

Session.Remove("yourSessionName"); 
5

वहाँ ASP.NET में सत्र को रद्द करने के लिए कई तरीके हैं। संक्षेप में सत्र एक कुकी है, जो क्लाइंट के ब्राउज़र पर सेट है और एएसपी.नेट में है, इसका नाम आमतौर पर ASP.NET_SessionId है। तो, सैद्धांतिक रूप से यदि आप उस कुकी को हटाते हैं (जो ब्राउज़र के संदर्भ में है कि आप अपनी समाप्ति तिथि को अतीत में कुछ तारीख पर सेट करते हैं, क्योंकि कुकीज़ डेवलपर्स द्वारा हटाई नहीं जा सकती है), तो आप सर्वर में सत्र को खो देते हैं। जैसा कि आपने कहा है एक और तरीका Session.Clear() विधि का उपयोग करना है। लेकिन सबसे अच्छा तरीका एक कुंजी के अनुरूप में सत्र में एक और अप्रासंगिक वस्तु (आमतौर पर null मान) सेट करना है। उदाहरण के लिए, Session["FirstName"] को कम करने के लिए, इसे बस Session["FirstName"] = null पर सेट करें।

संबंधित मुद्दे