¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»ÖãºASP¼¼ÊõÊ×Ò³ >> ASP»ù´¡ >> ½âÎöASPµÄApplicationºÍSession¶ÔÏó

½âÎöASPµÄApplicationºÍSession¶ÔÏó

2006-07-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º¡¡ ʹÓÃApplicationºÍSessionµÄʼþ ¡¡¡¡ASPµÄApplicationºÍSession¶ÔÏóÌåÏÖÁËÆäËûASPÄÚÖöÔÏóËùûÓеÄÌØÕ÷¡ª¡ªÊ¼þ¡£È»¶ø£¬ÕýÏñÔÚÇ°ÃæµÄ¶ÔÏó³ÉÔ±±íÖп´µ½µÄÄÇÑù£¬ÕâЩ¶¼ÊÇASP»á»°ºÍÓ¦ÓóÌÐòµÄ¹¤×÷ÏàÁªÏµµÄʼþ¡£...
¹Ø¼ü×Ö£ºApplication ¶ÔÏó Session ASP

¡¡ ʹÓÃ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¼¯ºÏÖлñÈ¡¡£ÕâÌṩÁËÒ»¸ö»ù±¾µÄ·½·¨Í³¼Æ·ÃÎÊÕßµÄÊýÁ¿£¬²¢ÊÕ¼¯·ÃÎÊÕßµÄһЩ»ù±¾ÐÅÏ¢¡£

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/asp/2006/07/84128.htm
Ïà¹ØÎÄÕÂ