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">

sub Application_OnStart
  'some code
end sub

sub Application_OnEnd
  'some code
end sub

sub Session_OnStart
  'some code
end sub

sub Session_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 ×÷ÓÃÓò¶ÔÏó£º

<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>

Äú¿ÉÒÔ´Ó 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>
VUE