¡¡ ʹÓÃApplicationºÍSessionµÄʼþ
¡¡¡¡ASPµÄApplicationºÍSession¶ÔÏóÌåÏÖÁËÆäËûASPÄÚÖöÔÏóËùûÓеÄÌØÕ÷¡ª¡ªÊ¼þ¡£È»¶ø£¬ÕýÏñÔÚÇ°ÃæµÄ¶ÔÏó³ÉÔ±±íÖп´µ½µÄÄÇÑù£¬ÕâЩ¶¼ÊÇASP»á»°ºÍÓ¦ÓóÌÐòµÄ¹¤×÷ÏàÁªÏµµÄʼþ¡£
¡¡¡¡1£® ApplicationºÍSessionµÄʼþ´¦ÀíÆ÷
¡¡
¡¡¡¡Ã¿µ±Ò»¸öÓ¦ÓóÌÐò»ò»á»°Æô¶¯»ò½áÊøÊ±£¬ASP´¥·¢Ò»¸öʼþ¡£¿ÉÒÔͨ¹ýÔÚÒ»¸öÌØÊâµÄÎļþÖбàдÆÕͨµÄ½Å±¾´úÂëÀ´¼ì²âºÍÓ¦´ðÕâЩʼþ£¬Õâ¸öÎļþÃûΪglobal.asa£¬Î»ÓÚÒ»¸öÓ¦ÓóÌÐòµÄ¸ùĿ¼ÖУ¨¶ÔÓÚȱʡµÄWebÍøÕ¾ÊÇ\InetPub\WWWRootĿ¼£¬»òÊÇ×÷Ϊһ¸öʵ¼ÊÓ¦ÓóÌÐò¶¨ÒåµÄÒ»¸öÎļþ¼Ð£©¡£Õâ¸öÎļþ¿ÉÒÔ°üº¬Ò»¸ö»ò¶à¸öHTMLµÄ£¼OBJECT£¾ÔªËØ£¬ÓÃÓÚ´´½¨½«ÔÚ¸ÃÓ¦ÓóÌÐò»òÓû§»á»°ÄÚʹÓõÄ×é¼þʵÀý¡£
¡¡¡¡ÏÂÃæµÄ´úÂëÊÇglobal.asaÎļþµÄÒ»¸öÀý×Ó¡£ÎÒÃÇÖ»¹Ø×¢£¼OBJECT£¾ÔªËØÒÔ¼°ÒÔSet¹Ø¼ü×Ö¿ªÊ¼µÄÄÇЩ´úÂëÐУº
£¼!-- Declare instance of the ASPCounter component
with application-level scope //--£¾
£¼OBJECT ID=¡±ASPCounter¡± RUNAT=¡±Server¡± SCOPE=¡±Application¡±
PROGID=¡±MSWC.Counters¡±£¾
£¼/OBJECT£¾
£¼!-- Declare instance of the ASPContentLimk component
with session-level scope //--£¾
£¼OBJECT ID=¡±ASPContentLink¡± RUNAT=¡±Server¡± SCOPE=¡±Session¡±
PROGID=¡±MSWC.NextLink¡±£¾
£¼/OBJECT£¾
£¼SCRIPT LANGUAGE=¡±VBScript¡± RUNAT=¡±Server¡±£¾
Sub Application_onStart()
¡¡¡®Create an instance of an ADO Recordset with application-level scope
¡¡Set Application(¡°ADOConnection¡±)= Server.CreateObject(¡°ADODB.Connection¡±)
¡¡Dim varArray(3) ¡®Create a Variant array and fill it
¡¡VarArray(0) = ¡°This is a¡±
¡¡VarArray(1) = ¡°Variant array¡±
¡¡VarArray(2) = ¡°stored in the¡±
¡¡VarArray(3) = ¡°Application object¡±
¡¡Application(¡°Variant_Array¡±) = varArray¡®Store it in the Application
¡¡Application(¡°Start_Time¡±) = CStr(Now) ¡®Store the date/time as a string
¡¡Application(¡°Visit_Count¡±) = 0 ¡®Set Counter variable to zero
End Sub
Sub Application_onEnd()
¡¡Set Application(¡°ADOConnection¡±) = Nothing
End Sub
Sub Sesson_onStart()
¡¡¡®Create an instance of the AdRotator component with session-level scope
¡¡Set Session(¡°ASPAdRotator¡±) = Server.CreateObject(¡°MSWC.AdRotator¡±)
¡¡Dim varArray(3) ¡®Create a Variant arry and fill it
¡¡VarArray(0) = ¡°This is a¡±
¡¡VarArray(1) = ¡°Variant array¡±
¡¡VarArray(2) = ¡°stored in the¡±
¡¡VarArray(3) = ¡°Session object¡±
¡¡Session(¡°Variant_Array¡±) = varArray ¡®Store it in the Session
¡¡Session(¡°Start_Time¡±) = CStr(Now) ¡®Store the date/time as a string
¡¡
¡¡¡®We can access the contents of the Request and Response in a Session_onStart
¡¡¡®event handler for the page that initiated the session. This is the *only*
¡¡¡®place that the ASP page context is available like this.
¡¡¡®as an example, we can get the IP address of the user:
¡¡Session(¡°Your_IP_Address¡±) = Request.ServerVariables(¡°REMOTE_ADDR¡±)
¡¡Application.Lock
¡¡intVisits = Application(¡°Visit_Count¡±) +1
¡¡Application(¡°Visit_Count¡±) = intVisits
¡¡Application.Unlock
End Sub
Sub Session_onEnd()
¡¡Set Session(¡°ASPAdRotator¡±) = Nothing
End Sub
£¼/SCRIPT£¾
¡¡¡¡ÒòΪÕâ¸öglobal.asaÎļþÓÃÓÚ±¾ÕÂÖеÄʾÀýÒ³Ãæ£¬ËùÒÔ½«ÐèÒª½«¸ÃÎļþ·Åµ½WebÍøÕ¾µÄ¸ùĿ¼ÖУ¬»òÕ߷ŵ½ÒÑÅäÖÃΪһ¸öÐéÄâÓ¦ÓóÌÐòµÄĿ¼ÖУ¬²¢ÇÒÔÚ¸ÃĿ¼Öаüº¬ÓÐÆäËûʾÀýÎļþ¡£
¡¡¡¡ ¶ÁÈ¡ºÍ´æ´¢Öµ
¡¡¡¡×¢ÒâÉÏÃæµÄÀý×ÓÔõÑù¶ÁÈ¡ApplicationºÍSessionµÄ±äÁ¿£¬ÓëÔÚRequestºÍResponse¶ÔÏóµÄ¼¯ºÏÖÐËù²ÉÈ¡µÄ·½Ê½Ïàͬ¡£ÉèÖÃÕâЩ±äÁ¿µÄÖµ£º
Application(¡°variable_name¡±) = variable_value
Application(¡°variable_name¡±) = variant_array_variable_name
Set Application(¡°variable_name¡±) = object_reference
¡¡¡¡»ñÈ¡ÕâЩ±äÁ¿µÄÖµ£º
variable_value = Application(¡°variable_name¡±)
variant_array_variable = Application(¡°variable_name¡±)
Set object_reference = Application(¡°variable_name¡±)
¡¡¡¡µ±È»£¬¶ÔÓÚSession¶ÔÏó¿É²ÉȡͬÑùµÄ·½·¨¡£
¡¡¡¡¿ÉÒÔ¿´µ½£¬µ±´ÓÒ»¸öSessionʼþ´¦ÀíÆ÷·ÃÎÊʱ£¬ÔõÑù¡°Ëø¶¨¡±£¨Lock£©ºÍ¡°½âËø¡±£¨unlock£©¸ÃApplication¶ÔÏó£»µ±´ÓÒ»¸öASPÍøÒ³·ÃÎÊʱ£¬ÐèÒª½øÐÐÏàͬµÄ´¦Àí¡£ÓÃApplicationʼþÄڵĴúÂë·ÃÎÊApplication¶ÔÏóÖеÄֵʱ£¬²»ÒªÇóÕâô×ö¡£ÕâÊÇÒòΪÔÚÈκÎÓ¦ÓóÌÐòÖÐÖ»ÓÐÒ»¸öApplication¶ÔÏóµÄʵÀý£¬²¢ÇÒÆäʼþ´¦ÀíÆ÷µÄ´úÂëÖ»ÔÚûÓлµÄÓû§»á»°Ê±½øÐС£
¡¡¡¡Ò²¿ÉÒÔ¿´µ½Ò»¸ö»ù±¾µÄÓû§»á»°¼ÆÊýÆ÷ÊÇÈçºÎʵÏֵġ£ÕâÀïʹÓÃÒ»¸öÓ¦ÓóÌÐò¼¶µÄ±äÁ¿Visit_count£¬µ±ÐµĻỰÆô¶¯Ê±Ëü¾Í×Ô¶¯Ôö¼Ó¡£ Ò»°ãÒ²²»ÏÞÖÆ¼òµ¥µØ°ÑÖµ±£´æµ½Application»òSession¶ÔÏóÖС£ÀýÈ磬Web¿ª·¢ÕßµÄWebÕ¾µãÔÚ http://webdev.wrox.co.uk ÉÏ£¬ÓÐÏàÓ¦µÄÒ»¸öglobal.asaÎļþ£¬µ±Ò»¸öеĻỰÆô¶¯Ê±¸ÃÎļþ¾ÍÔÚ·þÎñÆ÷ÉϵÄÊý¾Ý¿âÖÐдÈëÏàÓ¦µÄÌõÄ¿£¬Êý¾Ýϸ½Ú´ÓRequest.ServerVariables¼¯ºÏÖлñÈ¡¡£ÕâÌṩÁËÒ»¸ö»ù±¾µÄ·½·¨Í³¼Æ·ÃÎÊÕßµÄÊýÁ¿£¬²¢ÊÕ¼¯·ÃÎÊÕßµÄһЩ»ù±¾ÐÅÏ¢¡£

