में सत्र आईडी प्राप्त करें मैं सभी मौजूदा सत्रों की आईडी कैसे प्राप्त कर सकता हूं?एएसपी.Net
उत्तर
उत्तर आंशिक रूप से निर्भर करता है कि आप सत्र स्थिति कहां संग्रहीत करते हैं। मान लें कि आप डिफ़ॉल्ट (inproc) का उपयोग करते हैं, तो आप global.asax में Session_Start
और Session_End
ईवेंट का उपयोग कर वर्तमान सत्र आईडी की एक सूची बनाए रख सकते हैं।
आप Global.asax
फ़ाइल का उपयोग कर सकते हैं और सत्र को Session_Start
ईवेंट पर सेट कर सकते हैं। नीचे
देखें Global.asax
फ़ाइल में आप कुछ इस तरह कर सकते हैं: की तरह नीचे
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Session ID is:" + Session.SessionID.ToString()+ "<br/>");
Response.Write("Session value is:" + Session["sid"].ToString());
}
जानकारी के लिए
protected void Session_Start(object sender, EventArgs e)
{
Session["sid"] = Session.SessionID;
Session["sid"] = "Test";
}
फिर अपने वेबफ़ॉर्म में आप सत्र आईडी और प्राप्त कर सकते हैं मूल्य, http://www.dotnetcurry.com/ShowArticle.aspx?ID=126
देखनायदि आप SQL सर्वर में अपना सत्र स्थिति संग्रहीत कर रहे हैं, तो आप इसे आसानी से वहां से भी प्राप्त कर सकते हैं।
Dino Esposito के अनुसार प्रत्येक सत्र के आवेदन के कैश में संग्रहीत किया जाता है और कुछ काम के साथ आप इस जानकारी को पुनर्प्राप्त कर सकते हैं: आप चाहिए
// In a user control or page
string sessionId = this.Session.SessionID;
// In a normal class, running in a asp.net app.
string sessionId = System.Web.HttpContext.Current.Session.SessionID;
:
DataTable dt = new DataTable();
dt.Columns.Add("SessionID", typeof(string));
foreach(DictionaryEntry elem in Cache) {
string s = elem.Key.ToString();
if (s.StartsWith("System.Web.SessionState.SessionStateItem")) {
DataRow row = dt.NewRow();
char[] parms = {':'};
string[] a = s.Split(parms);
row["SessionID"] = a[1];
dt.Rows.Add(row);
}
}
सत्र id पाने के लिए, यह करने के इसकी आवश्यकता नहीं है:
- कोई डेटा तालिका या लूप कुछ भी बनाएं सत्र स्थिति
- हैंडल session_start या Session_End
कुकी-परिदृश्य में के लिए
अधिक जानकारी के लिए, इस पर विचार:
http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx
नोट: MSDN उदाहरण बंदरों द्वारा लिखा गया है।
यदि आप मौजूदा सत्रों की एक सूची स्टोर करने का कोई तरीका चाहते हैं जहां आप बैकिंग स्टोर को नियंत्रित करते हैं, ताकि आप क्लाइंट के बारे में अतिरिक्त डेटा स्टोर कर सकें, तो आप एक सूची का उपयोग कर सकते हैं। Application_SessionStart में (मैं अपने सिर के ऊपर से निम्न उदाहरण लिख रहा हूँ)
हुक global.asax.cs फ़ाइल में:
static List<string> sessions = new List<string>();
static object sessionLock = new object();
void Application_SessionStart()
{
lock (sessionLock) {
sessions.Add(Session.SessionID);
}
}
void Application_SessionEnd()
{
lock (sessionLock) {
sessions.Remove(Session.SessionID);
}
}
वैकल्पिक रूप से, आप एक शब्दकोश का उपयोग कर सकते, सत्र आईडी भंडारण एक कुंजी के रूप में, और उस उपयोगकर्ता के बारे में अतिरिक्त डेटा मूल्य के रूप में। फिर आप आसानी से एक पृष्ठ बना सकते हैं जो सभी मौजूदा उपयोगकर्ता सत्र दिखाता है, उदाहरण के लिए, वर्तमान उपयोगकर्ता सत्र दिखाने के लिए एक व्यवस्थापक साइट के लिए।
सत्र एन्ड केवल तभी बुलाया जाएगा जब आपके सत्र इनप्रोक हैं।
- 1. एएसपी.Net
- 2. एएसपी.NET
- 3. एएसपी.Net
- 4. एएसपी.NET
- 5. एएसपी.Net
- 6. एएसपी.NET
- 7. एएसपी.NET
- 8. एएसपी.NET
- 9. एएसपी.NET
- 10. एएसपी.NET
- 11. एएसपी.NET
- 12. एएसपी.NET
- 13. एएसपी.NET
- 14. एएसपी.NET
- 15. एएसपी.Net
- 16. एएसपी.NET
- 17. एएसपी.NET
- 18. एएसपी.Net
- 19. एएसपी.NET
- 20. एएसपी.NET
- 21. एएसपी.NET
- 22. एएसपी.NET
- 23. एएसपी.NET
- 24. एएसपी.NET
- 25. एएसपी.NET
- 26. एएसपी.NET
- 27. एएसपी.NET
- 28. एएसपी.NET
- 29. एएसपी.NET
- 30. एएसपी.NET
*** asp.net 4.5.1 *** पर लागू होता है? –