एएसपी ग्लोबलएसा फाइल
- पिछला पृष्ठ एएसपी #include
- अगला पृष्ठ एएसपी ईमेल
Global.asa फ़ाइल एक वैकल्पिक फ़ाइल है जिसमें ASP एप्लिकेशन के प्रत्येक पेज द्वारा उपयोग किए जा सकने वाले ऑब्जेक्ट, वेरियेबल और मथडलोग की घोषणा शामिल हो सकती है।
Global.asa फ़ाइल
Global.asa फ़ाइल एक वैकल्पिक फ़ाइल है जिसमें ASP एप्लिकेशन के प्रत्येक पेज द्वारा उपयोग किए जा सकने वाले ऑब्जेक्ट, वेरियेबल और मथडलोग की घोषणा शामिल हो सकती है। सभी वैध ब्राउज़र स्क्रिप्ट Global.asa में उपयोग किए जा सकते हैं。
Global.asa फ़ाइल में निम्नलिखित सामग्री शामिल की जा सकती है:
- Application इवेंट
- Session इवेंट
- <object> घोषणा
- TypeLibrary घोषणा
- #include निर्देश
टिप्पणी:Global.asa फ़ाइल को ASP एप्लिकेशन के मुख्य डिरेक्ट्री में रखना चाहिए और प्रत्येक एप्लिकेशन में केवल एक Global.asa फ़ाइल हो सकती है。
Global.asa में इवेंट
Global.asa में, हम अनुप्रयोग और session ऑब्जैक्ट को स्टार्ट और एंड इवेंट में क्या करना है बता सकते हैं। इस कार्य को पूरा करने वाले कोड को इवेंट हैंडलर में रखा जाता है। Global.asa फ़ाइल चार प्रकार के घटनाओं को शामिल कर सकती है:
Application_OnStart - यह घटना जब पहला उपयोगकर्ता ASP अनुप्रयोग से पहला पृष्ठ अनुरोध करता है तब होती है। यह घटना वेब सर्वर फिर से शुरू होने या Global.asa फ़ाइल को संपादित किए जाने के बाद होती है। "Session_OnStart" घटना इस घटना के बाद तुरंत होती है।
Session_OnStart - यह घटना जब नए उपयोगकर्ता अपने ASP अनुप्रयोग में पहला पृष्ठ अनुरोध करता है तब होती है।
Session_OnEnd - यह घटना जब उपयोगकर्ता अपना session समाप्त करता है तब होती है। निर्धारित समय (मूलभूत घटना 20 मिनट) के भीतर यदि कोई पृष्ठ अनुरोध नहीं होता है, तो session समाप्त हो जाती है।
Application_OnEnd - यह घटना अंतिम उपयोगकर्ता अपना session समाप्त करने के बाद होती है। सामान्यतः, यह घटना वेब सर्वर बंद होने पर होती है। इस सबसे प्रोग्राम का उपयोग अनुप्रयोग बंद होने के बाद सेट को साफ करने के लिए किया जाता है, जैसे रिकॉर्ड को हटाना या टेक्स्ट फ़ाइल में जानकारी लिखना।
Global.asa फ़ाइल इस तरह हो सकती है:
<script language="vbscript" runat="server"> सब Application_OnStart 'कुछ कोड end sub सब Application_OnEnd 'कुछ कोड end sub सब Session_OnStart 'कुछ कोड end sub सब Session_OnEnd 'कुछ कोड end sub </script>
टिप्पणी:Global.asa फ़ाइल में ASP के स्क्रिप्ट सेपरेटर (<% और %>) का उपयोग नहीं कर सकते हैं, इसलिए हमें HTML के <script> एलीमेंट का उपयोग करना होगा।
<object> घोषणा
Global.asa फ़ाइल में session या application दायरे के ऑब्जैक्ट को बनाने के लिए <object> टैग का उपयोग कर सकते हैं।
टिप्पणी:<object> टैग को <script> टैग के बाहर रखना चाहिए।
व्याकरण:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
पारामीटर | वर्णन |
---|---|
scope | ऑब्जैक्ट के दायरे (दायरा) (Session या Application) सेट करें। |
id | ऑब्जैक्ट को एक अद्वितीय id निर्दिष्ट करें। |
ProgID |
ClassID से जुड़े id। ProgID का रूपांकन है: [Vendor.]Component[.Version]। ProgID या ClassID निर्दिष्ट करना आवश्यक है। |
ClassID |
COM क्लास ऑब्जैक्ट के लिए एक अद्वितीय id निर्दिष्ट करें। ProgID या ClassID निर्दिष्ट करना आवश्यक है। |
उदाहरण
पहला उदाहरण "MyAd" नाम का बनाया है और ProgID पारामीटर का उपयोग करने वाला session क्षेत्र का ऑब्जैक्ट बनाता है:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator"> </object>
दूसरा उदाहरण "MyConnection" नाम का बनाया है और ClassID पारामीटर का उपयोग करता है
<object runat="server" scope="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21"> </object>
इस Global.asa फ़ाइल में घोषित इन ऑब्जैक्ट को अनुप्रयोग के किसी भी स्क्रिप्ट द्वारा उपयोग किया जा सकता है。
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator"> </object>
आप एसपी अनुप्रयोग के किसी भी पृष्ठ से इस "MyAd" ऑब्जैक्ट को उद्धृत कर सकते हैं:
कोई .ASP फ़ाइल:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary घोषणा
TypeLibrary (टाइप लाइब्रेरी) एक कंटेनर है जिसमें COM ऑब्जैक्ट के लिए DLL फ़ाइल है। Global.asa में TypeLibrary के आह्वान को शामिल करके, COM ऑब्जैक्ट के स्थिरांकों को पहुँचा जा सकता है और ASP कोड भी एररों की बेहतर रिपोर्टिंग कर सकता है। अगर आपके साइट के अनुप्रयोग COM ऑब्जैक्ट के लिए जो टाइप लाइब्रेरी में घोषित है, तो आप Global.asa में टाइप लाइब्रेरी को घोषित कर सकते हैं。
व्याकरण:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
पारामीटर | वर्णन |
---|---|
file | टाइप लाइब्रेरी के लिए संपूर्ण पथ निर्धारित करता है। पारामीटर file या uuid, दोनों अवश्य की जाते हैं。 |
uuid | टाइप लाइब्रेरी के लिए अद्वितीय पहचान निर्धारित करता है। पारामीटर file या uuid, दोनों अवश्य की जाते हैं。 |
version | वैकल्पिक। संस्करण को चुनने के लिए उपयोग किया जाता है। यदि निर्दिष्ट संस्करण नहीं मिला, तो सबसे निकटतम संस्करण का उपयोग किया जाएगा。 |
lcid | वैकल्पिक। टाइप लाइब्रेरी के लिए क्षेत्र पहचान के लिए उपयोग किया जाता है。 |
एरर मूल्य
सर्वर ने निम्नलिखित एरर संदेशों में से एक वापस करेगा:
एरर | कोड | वर्णन |
---|---|---|
ASP | 0222 | अवैध क़िस्म लाइब्रेरी विशिष्टता |
ASP | 0223 | टाइप लाइब्रेरी नहीं मिली |
ASP | 0224 | टाइप लाइब्रेरी लोड नहीं कर सकती |
ASP | 0225 | टाइप लाइब्रेरी वर्प की नहीं जा सकती |
टिप्पणी:METADATA टैग Global.asa फ़ाइल के किसी भी स्थान पर ( <script> टैग के भीतर और बाहर भी) स्थित हो सकता है। हालांकि, हम अभी तक Global.asa फ़ाइल के शीर्ष में METADATA टैग को स्थापित करने की सिफारिश करते हैं।
सीमा
Global.asa फ़ाइल में उद्धरण की जा सकने वाली सामग्री के बारे में सीमा:
आपको Global.asa फ़ाइल में टेक्स्ट दिखाना नहीं सकते। यह फ़ाइल जानकारी देने के लिए नहीं है।
आपको केवल Application_OnStart और Application_OnEnd सब-सिपी में Server और Application ऑब्जेक्ट का उपयोग कर सकते हैं। Session_OnEnd सब-सिपी में, आपको Server, Application और Session ऑब्जेक्ट का उपयोग कर सकते हैं। Session_OnStart सब-सिपी में, आपको किसी भी अंतर्निहित ऑब्जेक्ट का उपयोग कर सकते हैं।
सब-सिपी का उपयोग कैसे करें
Global.asa अक्सर वेरियेबल को शुरूआती रूप से आवंटित करने के लिए उपयोग किया जाता है。
नीचे दिए गए उदाहरण में, विज़िटर के पहली बार स्टेशन पहुंचने के सटीक समय को निरीक्षण करने के तरीके को दिखाया गया है। समय "started" नामक Session ऑब्जेक्ट में संग्रहीत कर दिया जाता है और "started" वेरियेबल के मूल्य को अन्य अन्य ASP पृष्ठ द्वारा एक्सेस किया जा सकता है:
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script>
Global.asa इसके अलावा पृष्ठ एक्सेस को नियंत्रित करने के लिए भी उपयोग किया जा सकता है。
नीचे दिए गए उदाहरण में, किसी नए विज़िटर को एक अन्य पृष्ठ पर रीडायरेक्ट करने के तरीके को दिखाया गया है, इस उदाहरण में "newpage.asp" पृष्ठ को रीडायरेक्ट किया जाता है:
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>
हम अभी तक Global.asa में फ़ंक्शन शामिल कर सकते हैं।
इस उदाहरण में, जब Web सर्वर प्रारंभ होता है, Application_OnStart सब-सिपी भी प्रारंभ होता है। फिर, Application_OnStart सब-सिपी "getcustomers" नामक एक और सब-सिपी को बुलाता है। "getcustomers" सब-सिपी एक डाटाबेस खोलता है और फिर "customers" तालिका से एक रिकॉर्ड सेट ले लेता है। यह रिकॉर्ड सेट एक आयत्त्रा में आवंटित कर दिया जाता है, जिससे कि किसी भी ASP पृष्ठ को डाटाबेस को नहीं चाहते हुए इस आयत्त्रा को एक्सेस कर सकता है:
<script language="vbscript" runat="server"> sub Application_OnStart getcustomers end sub sub getcustomers set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=conn.execute("select name from customers") Application("customers")=rs.GetRows rs.Close conn.Close end sub </script>
Global.asa इंस्टेंस
इस उदाहरण में, हम एक ग्लोबल.asa फ़ाइल बनाना चाहते हैं जो वर्तमान विज़िटर्स की संख्या गणना कर सके।
Application_OnStart यह सेट करता है कि सर्वर प्रारंभ होने पर, Application वेरियबल "visitors" का मान 0 हो।
नए उपयोगकर्ता के प्रवेश के समय, Session_OnStart सब-स्क्रिप्ट वेरियबल "visitors" को 1 जोड़ देता है。
जब Session_OnEnd सब-स्क्रिप्ट ट्रिगर होता है, तो इस सब-स्क्रिप्ट से वेरियबल "visitors" से 1 कम कर देता है。
Global.asa फ़ाइल:
<script language="vbscript" runat="server"> Sub Application_OnStart Application("visitors")=0 End Sub Sub Session_OnStart Application.Lock Application("visitors")=Application("visitors")+1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("visitors")=Application("visitors")-1 Application.UnLock End Sub </script>
यह ASP फ़ाइल वर्तमान उपयोगकर्ता की संख्या दिखाएगी:
<html> <head> </head> <body> <p>अभी <%response.write(Application("visitors"))%> ऑनलाइन हैं!</p> </body> </html>
- पिछला पृष्ठ एएसपी #include
- अगला पृष्ठ एएसपी ईमेल