एएसपी सेशन ऑब्जैक्ट

Session ऑब्जेक्ट का उपयोग उपयोगकर्ता के जानकारी को संग्रहीत करने के लिए किया जाता है।session ऑब्जेक्ट में संग्रहीत वेरियेबल एकल उपयोगकर्ता के जानकारी को रखते हैं और एक अनुप्रयोग के सभी पृष्ठों में उपलब्ध हैं。

Session ऑब्जेक्ट

जब आप किसी अनुप्रयोग को ऑपरेट करते हैं, तो आप इसे खोलते हैं, कुछ बदलाव करते हैं और फिर इसे बंद करते हैं।यह एक संवाद (Session) की तरह है।कंप्यूटर जानता है कि आप कौन हैं।यह जानता है कि आप कब अनुप्रयोग खोलते हैं और बंद करते हैं।लेकिन इंटरनेट में एक समस्या है: HTTP पते के लिए अवस्था बनाए रखने की क्षमता नहीं होती, इसलिए web सर्वर जानता नहीं है कि आप कौन हैं और आप ने क्या किया है।

ASP इस समस्या को हल करने के लिए प्रत्येक उपयोगकर्ता के लिए एक अद्वितीय cookie के रूप में समाधान प्रदान करता है।cookie को क्लायंट को भेजा जाता है, जिसमें उपयोगकर्ता को पहचानने वाली जानकारी होती है।इस इंटरफेस को Session ऑब्जेक्ट कहा जाता है。

Session ऑब्जेक्ट उपयोगकर्ता के बारे में की जानकारी स्टोर करने के लिए या एक उपयोगकर्ता के session के लिए सेटिंग बदलने के लिए है। Session ऑब्जेक्ट में स्टोर की गई वेरियेबलें एकल उपयोगकर्ता के बारे में की जानकारी रखती हैं और अप्लीकेशन के सभी पेजों के लिए उपलब्ध हैं। Session ऑब्जेक्ट में स्टोर की गई जानकारी आमतौर पर name, id और पैरामीट है। सर्वर हर नए उपयोगकर्ता के लिए एक नया Session बनाता है और session अवधि समाप्त होने पर उसे निरस्त करता है।

Session कब शुरू होता है?

Session कब शुरू होता है?

  • जब किसी नए उपयोगकर्ता ने एक ASP फ़ाइल की अनुरोध की हो और Global.asa फ़ाइल ने Session_OnStart सब्रूटिन को उल्लेख किया हो;
  • जब किसी वैल्यू को Session वेरियेबल में स्टोर किया जाता है;
  • जब किसी उपयोगकर्ता ने एक ASP फ़ाइल की अनुरोध की हो और Global.asa ने <object> टैग के माध्यम से session के scope के द्वारा किसी ऑब्जेक्ट को इंस्टैंसीयाकरण किया हो;

Session कब समाप्त होता है?

यदि उपयोगकर्ता ने निर्धारित समय के भीतर अप्लीकेशन में अनुरोध या पेज को नवीनतर किया नहीं, तो session समाप्त हो जाएगा। मूलभूत मान 20 मिनट है。

अगर आप अवधि को अधिक या कम लम्बी करना चाहते हैं, तो इसे सेट कर सकते हैं अवधि गुण

नीचे दिए गए उदाहरण में 5 मिनट की अवधि का सेट किया गया है:

<%
Session.अवधि=5
%>

session को तुरंत समाप्त करने के लिए अनवरण तरीका:

<%
Session.अनवरण
%>

ध्यान:session का प्रधान समस्या यह है कि उनका अंत कब होना चाहिए। हम नहीं जानते कि उपयोगकर्ता की हाल की अनुरोध अंतिम अनुरोध है या नहीं। इसलिए हम नहीं जानते कि session को कितनी देर जीवित रखना चाहिए। एक अनुपस्थित session के लिए बहुत देर इंतजार करना सर्वर के संसाधनों को खपा देता है। हालांकि अगर session जल्दी ही मिटा दिया जाए, तो उपयोगकर्ता को बार-बार फिर से शुरू करना पड़ता है, क्योंकि सर्वर सभी सूचना हटा देता है। उपयुक्त अवधि का निर्धारण करना मुश्किल है。

सूचना:अगर आप session वेरियेबलों का उपयोग कर रहे हैं, तो कृपया उनमें बहुत सारी डाटा न भंडारित करें。

session वेरियेबलों को स्टोर और रिकवरी करना

Session ऑब्जेक्ट का सबसे बड़ा लाभ यह है कि उसमें वेरियेबलों को भंडारित किया जा सकता है, ताकि बाद के वेब पेज को उन्हें पढ़ा जा सके, इसका उपयोग क्षेत्र बहुत विस्तृत है。

नीचे दिए गए उदाहरण में "Donald Duck" को username नाम के session वेरियेबल को आवंटित किया जाता है और "50" को age नाम के session वेरियेबल को आवंटित किया जाता है:

<%
Session("username")="Donald Duck"
Session("age")=50
%>

एक बार जब वैल्यू session वेरियेबल में भंडारित हो जाता है, तो वह ASP एप्लीकेशन के किसी भी पेज का उपयोग कर सकता है:

Welcome <%Response.Write(Session("username"))%>

इस पटीका को लेकर वापस का परिणाम: "Welcome Donald Duck" है。

आवंटन में उपयोगकर्ता पारामीटर को सहेजा जा सकता है, और इन पारामीटरों को अवलोकन करके उपयोगकर्ता को क्या पृष्ठ वापस किया जाएगा, तय किया जा सकता है。

नीचे दिए गए उदाहरण में, यदि उपयोगकर्ता का प्रदर्शनी रेजोल्यूशन नीचा है, तो शुद्ध टेक्स्ट संस्करण के पृष्ठ को वापस किया जाएगा:

<%If Session("screenres")="low" Then%> 
  यह पृष्ठ का टेक्स्ट संस्करण है
<%Else%> 
  यह पृष्ठ का मल्टीमीडिया संस्करण है
<%End If%>

सेशन वेरियेबल को हटाना

contents सेट सभी सेशन वेरियेबल शामिल करता है。

remove विधि के द्वारा session वेरियेबल को हटाने के लिए उपयोग किया जा सकता है。

नीचे दिए गए उदाहरण में, यदि session वेरियेबल "age" का मूल्य 18 से कम है, तो session वेरियेबल "sale" को हटाया जाएगा:

<%
यदि Session.Contents("age")<18 तो 
  Session.Contents.Remove("sale")
एंड अफ इफ 
%>

सेशन में सभी वेरियेबल को हटाने के लिए RemoveAll विधि का उपयोग करें:

<%
Session.Contents.RemoveAll()
%>

contents सेट को घूमना

contents सेट सभी सेशन वेरियेबल शामिल करता है। contents सेट को घूम कर, संग्रह में संग्रहित वेरियेबल को देखने के लिए गुमाना सकते हैं:

<%
Session("username")="Donald Duck"
Session("age")=50
डिम आई
For Each i in Session.Contents
  Response.Write(i & "<br />")
नेक्स्ट
%>

परिणाम:

यूजरनेम
आयु

यदि आप contents सेट में पदार्थों की संख्या को जानना चाहते हैं, तो count अटीब्यूट का उपयोग करें:

<%
डिम आई
डिम ज
j=Session.Contents.Count
Response.Write("सेशन वेरियेबल: " & j)
फॉर i=1 तक j
  Response.Write(Session.Contents(i) & "<br />")
नेक्स्ट
%>

परिणाम:

सेशन वेरियेबल: 2
डोनाल्ड डक
50

स्टेटिकऑब्जैक्ट्स सेट घूमें

स्टेटिकऑब्जैक्ट्स सेट को चक्कर लगाकर सत्र ऑब्जैक्ट में सभी ऑब्जैक्ट के मूल्यों को देखें:

<%
डिम आई
For Each i in Session.StaticObjects
  Response.Write(i & "<br />")
नेक्स्ट
%>