ASP.NET सत्र प्रबंधन ट्यूटोरियल [उदाहरण]
ASP.NET सत्र प्रबंधन
HTTP प्रोटोकॉल जिस पर सभी वेब एप्लिकेशन काम करते हैं, वह स्टेटलेस प्रोटोकॉल है। स्टेटलेस से इसका मतलब है कि एक अनुरोध से दूसरे अनुरोध तक जानकारी बरकरार नहीं रखी जाती है।
उदाहरण के लिए, यदि आपके पास एक लॉगिन पेज है जिसमें 2 टेक्स्टबॉक्स हैं, एक नाम के लिए और दूसरा पासवर्ड के लिए। जब आप उस पेज पर लॉगिन बटन पर क्लिक करते हैं, तो एप्लिकेशन को यह सुनिश्चित करना होगा कि उपयोगकर्ता नाम और पासवर्ड अगले पेज पर चले जाएँ।
ASP.Net में, यह कई तरीकों से किया जाता है। पहला तरीका ViewState नामक अवधारणा के माध्यम से है। इसमें ASP.Net स्वचालित रूप से सभी नियंत्रणों की सामग्री संग्रहीत करता है। यह यह भी सुनिश्चित करता है कि इसे अगले पृष्ठ पर भेजा जाए। यह ViewState नामक प्रॉपर्टी के माध्यम से किया जाता है।
डेवलपर के लिए व्यू स्टेट में कुछ भी बदलना आदर्श नहीं है। ऐसा इसलिए है क्योंकि इसे केवल ASP.Net द्वारा ही नियंत्रित किया जाना चाहिए।
ASP.NET सत्र ऑब्जेक्ट
दूसरा तरीका "सेशन ऑब्जेक्ट" नामक ऑब्जेक्ट का उपयोग करना है। सत्र ऑब्जेक्ट एप्लिकेशन के पूरे जीवनचक्र में उपलब्ध रहता है। आप सत्र ऑब्जेक्ट में किसी भी संख्या में कुंजी-मूल्य जोड़े संग्रहीत कर सकते हैं। इसलिए किसी भी पृष्ठ पर, आप कोड की नीचे दी गई पंक्ति के माध्यम से सत्र ऑब्जेक्ट में मान संग्रहीत कर सकते हैं।
Session["Key"]=value
यह सत्र ऑब्जेक्ट में मान संग्रहीत करता है और 'कुंजी' भाग का उपयोग मान को नाम देने के लिए किया जाता है। यह मान को बाद में प्राप्त करने की अनुमति देता है। मान प्राप्त करने के लिए, आप बस नीचे दिए गए कथन को जारी कर सकते हैं।
Session["Key"]
ASP.NET सत्र ऑब्जेक्ट उदाहरण
हमारे उदाहरण में, हम पेज में नाम टेक्स्टबॉक्स फ़ील्ड में दर्ज नाम को संग्रहीत करने के लिए सत्र ऑब्जेक्ट का उपयोग करने जा रहे हैं। फिर हम उस मान को पुनः प्राप्त करने जा रहे हैं और उसे तदनुसार पेज पर प्रदर्शित करेंगे। आइए नीचे दिए गए कोड को Demo.aspx.cs फ़ाइल में जोड़ें।
protected void btnSubmit_Click(object sender,EventArgs e) { Session["Name"] = txtName.Text; Response.Write(Session["Name"]); lblName.Visible = false; txtName.Visible = false; 1stLocation.Visible = false; chkC.Visible = false; chkASP.Visible = false; rdMale.Visible = false; rdFemale.Visible = false; btnSubmit.Visible = false; }
कोड स्पष्टीकरण:-
- कोड की पहली पंक्ति नाम टेक्स्टबॉक्स नियंत्रण का मान लेती है और इसे सत्र ऑब्जेक्ट में संग्रहीत करती है। Session[“Name”] का कोड निर्दिष्ट करके, हम प्रॉपर्टी को “Name” नामक नाम दे रहे हैं। प्रॉपर्टी के लिए नाम निर्दिष्ट करके, इसे बाद में प्राप्त करना आसान हो जाता है।
- कोड की अगली पंक्ति सत्र ऑब्जेक्ट से संग्रहीत मान प्राप्त करती है। फिर यह 'Response.Write' विधि के माध्यम से इस मान को क्लाइंट को वापस लिखती है।
- अंत में, हम फ़ॉर्म पर सभी नियंत्रणों को अदृश्य बना देते हैं। अगर हम ऐसा नहीं करते हैं, तो सभी नियंत्रण और हमारे प्रतिक्रिया मान एक साथ प्रदर्शित किए जाएँगे।
एक बार जब आप उपरोक्त परिवर्तन कर लेंगे, तो आपको निम्नलिखित आउटपुट दिखाई देगा
आउटपुट:
आउटपुट से, आप देख सकते हैं कि नाम का सत्र मान पुनर्प्राप्त किया गया और ब्राउज़र में प्रदर्शित किया गया।
सारांश
- सत्र प्रबंधन एक ऐसा तरीका है जिससे ASP.net यह सुनिश्चित करने के लिए कि जानकारी एक पृष्ठ से दूसरे पृष्ठ तक पहुंच जाए।
- किसी पृष्ठ की दृश्य स्थिति संपत्ति का उपयोग नियंत्रणों की जानकारी को स्वचालित रूप से एक पृष्ठ से दूसरे पृष्ठ तक भेजने के लिए किया जाता है।
- 'सेशन' ऑब्जेक्ट का उपयोग वेब पेज के भीतर विशिष्ट मानों को संग्रहीत करने और पुनः प्राप्त करने के लिए किया जाता है।