件,如表3-9所示:
表3-9 Session对象的事件及说明
事 件 说 明 OnStart 当ASP用户会话启动时触发,在用户请求的网页执行之前。用于初始化变量、创建对象或运行其他代码。 OnEnd 当ASP用户会话结束时触发。从用户对应用程序的最后一个页面请求开始,如果已经超出预定的会话超时周期则触发该事件。当会话结束时,取消该会话中的所有变量。在代码中使用Abandon方法结束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”) =
表3-9 Session对象的事件及说明
事 件 说 明 OnStart 当ASP用户会话启动时触发,在用户请求的网页执行之前。用于初始化变量、创建对象或运行其他代码。 OnEnd 当ASP用户会话结束时触发。从用户对应用程序的最后一个页面请求开始,如果已经超出预定的会话超时周期则触发该事件。当会话结束时,取消该会话中的所有变量。在代码中使用Abandon方法结束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”) =
| 对此文章发表了评论 |
