ASP Global.asa Îļþ
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 ÖУ¬ÎÒÃÇ¿ÉÒÔ¸æÖª application ºÍ session ¶ÔÏóÔÚÆô¶¯ºÍ½áÊøÊ±×öʲôÊÂÇé¡£Íê³ÉÕâÏîÈÎÎñµÄ´úÂë±»·ÅÖÃÔÚʼþ²Ù×÷Æ÷ÖС£Global.asa ÎļþÄܰüº¬ËÄÖÖÀàÐ͵Äʼþ£º
Application_OnStart - ´Ëʼþ»áÔÚÊ×λÓû§´Ó ASP Ó¦ÓóÌÐòµ÷ÓõÚÒ»¸öÒ³ÃæÊ±·¢Éú¡£´Ëʼþ»áÔÚ web ·þÎñÆ÷ÖØÆð»òÕß Global.asa Îļþ±»±à¼Ö®ºó·¢Éú¡£"Session_OnStart" ʼþ»áÔÚ´Ëʼþ·¢ÉúÖ®ºóÁ¢¼´·¢Éú¡£
Session_OnStart - ´Ëʼþ»áÔÚÿµ±ÐÂÓû§ÇëÇóËû»òËýµÄÔÚ ASP Ó¦ÓóÌÐòÖеÄÊ׸öÒ³ÃæÊ±·¢Éú¡£
Session_OnEnd - ´Ëʼþ»áÔÚÿµ±Óû§½áÊø session ʱ·¢Éú¡£Ôڹ涨µÄʱ¼ä£¨Ä¬ÈϵÄʼþΪ 20 ·ÖÖÓ£©ÄÚÈç¹ûûÓÐÒ³Ãæ±»ÇëÇó£¬session ¾Í»á½áÊø¡£
Application_OnEnd - ´Ëʼþ»áÔÚ×îºóһλÓû§½áÊøÆä session Ö®ºó·¢Éú¡£µäÐ͵ÄÇé¿öÊÇ£¬´Ëʼþ»áÔÚ Web ·þÎñÆ÷ֹͣʱ·¢Éú¡£´Ë×Ó³ÌÐòÓÃÓÚÔÚÓ¦ÓóÌÐòÍ£Ö¹ºóÇå³ýÉèÖ㬱ÈÈçɾ³ý¼Ç¼»òÕßÏòÎı¾ÎļþдÐÅÏ¢¡£
Global.asa Îļþ¿ÉÄÜÀàËÆÕâÑù£º
<script language="vbscript" runat="server"> subApplication_OnStart
'some code end sub subApplication_OnEnd
'some code end sub subSession_OnStart
'some code end sub subSession_OnEnd
'some code end sub </script>
×¢ÊÍ£ºÓÉÓÚÎÞ·¨Ê¹Óà ASP µÄ½Å±¾·Ö¸ô·û (<% ºÍ %>) ÔÚ Global.asa ÎļþÖвåÈë½Å±¾£¬ÎÒÃÇÐèʹÓà HTML µÄ <script> ÔªËØ¡£
<object> ÉùÃ÷
¿Éͨ¹ýʹÓà <object> ±êÇ©ÔÚ Global.asa ÎļþÖд´½¨´øÓÐ session »òÕß application ×÷ÓÃÓòµÄ¶ÔÏó¡£
×¢ÊÍ£º<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 ×÷ÓÃÓò¶ÔÏó£º
<objectrunat
="server"scope
="session"id
="MyAd"progid
="MSWC.AdRotator"> </object>
µÚ¶þ¸öʵÀý´´½¨ÁËÃûΪ "MyConnection" ÇÒʹÓà ClassID ²ÎÊýµÄ
<objectrunat
="server"scope
="application"id
="MyConnection"classid
="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21"> </object>
ÔÚ´Ë Global.asa ÎļþÖÐÉùÃ÷µÄÕâЩ¶ÔÏó¿É±»Ó¦ÓóÌÐòÖеÄÈκνű¾Ê¹Óá£
GLOBAL.ASA:
<objectrunat
="server"scope
="session"id
="MyAd"progid
="MSWC.AdRotator"> </object>
Äú¿ÉÒÔ´Ó ASP Ó¦ÓóÌÐòÖеÄÈÎÒâÒ³ÃæÒýÓÃ´Ë "MyAd" ¶ÔÏó£º
ij¸ö .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 | Invalid type library specification |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
×¢ÊÍ£ºMETADATA ±êÇ©¿ÉλÓÚ Global.asa ÎļþÖеÄÈκÎλÖã¨ÔÚ <script> ±êÇ©µÄÄÚÍâ¾ù¿É£©¡£²»¹ý£¬ÎÒÃÇ»¹ÊÇÍÆ¼ö½« METADATA ±êÇ©·ÅÖÃÓÚ Global.asa ÎļþµÄ¶¥²¿¡£
ÏÞ¶¨
¹ØÓÚ¿ÉÒÔÔÚ 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 ʵÀý
ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃÇÒª´´½¨Ò»¸ö¿É¼ÆË㵱ǰ·Ã¿ÍµÄ Global.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>There are <%response.write(Application("visitors"))%> online now!</p> </body> </html>