📄 16-2-4.cfm.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Sessions事件</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<b><font FACE="宋体">
<p ALIGN="JUSTIFY">Sessions</font>事件</p>
</b><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">和其他对象不同的是,</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">对象中有事件(</font><font
FACE="宋体" SIZE="3">Event</font><font SIZE="3">)。一共两种:</font><font
FACE="宋体" SIZE="3">Session_OnStart</font><font SIZE="3">事件,当一个</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">开始时被触发。还有</font><font
FACE="宋体" SIZE="3">Session_OnEnd</font><font SIZE="3">事件,当一个</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">结束时被触发。在一个脚本中你可以和其中一个并且只能和其中一个事件关联。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">在事件触发时下面这些脚本的语句被执行。这两个脚本位于特定的文件</font><font
FACE="宋体" SIZE="3">Global.asa</font><font SIZE="3">。这个文件位于你的网站应用的根目录。它包括了一些通用程序段和你的网站应用。</font><font
FACE="宋体" SIZE="3">Global.asa</font><font SIZE="3">文件有如下结构:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Application_OnStart</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Application_OnEnd</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_OnStart</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_OnEnd</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
</font><font SIZE="3"><b>
<p ALIGN="JUSTIFY">注意</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">下一章提供更加详细的关于</font><font
FACE="宋体" SIZE="3">Global.asa</font><font SIZE="3">文件的内容</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">Global.asa</font><font SIZE="3">包括四个脚本。这里面有一个是根据</font><font
FACE="宋体" SIZE="3">Session_OnStart</font><font SIZE="3">触发,另一个是根据</font><font
FACE="宋体" SIZE="3">Session_OnEnd</font><font SIZE="3">触发(下一章介绍剩下的另外两个脚本)</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">请注意</font><font FACE="宋体" SIZE="3">Global.asa</font><font
SIZE="3">使用了微软的</font><font FACE="宋体" SIZE="3">HTML</font><font SIZE="3">拓展</font><font
FACE="宋体" SIZE="3"><SCRIPT></font><font SIZE="3">标记语法来限制脚本,这也就是说,你必须用</font><font
FACE="宋体" SIZE="3"><SCRIPT></font><font SIZE="3">标记来引用这两个事件而不能用</font><font
FACE="宋体" SIZE="3"><%</font><font SIZE="3">和</font><font FACE="宋体" SIZE="3">%></font><font
SIZE="3">符号引用。例子中</font><font FACE="宋体" SIZE="3">Global.asa</font><font
SIZE="3">使用的是</font><font FACE="宋体" SIZE="3">VBScript</font><font SIZE="3">,但是你也可以使用其他脚本语言。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">在</font><font FACE="宋体" SIZE="3">Global.asa</font><font
SIZE="3">中不能有任何输出语句,无论是</font><font FACE="宋体" SIZE="3">HTML</font><font
SIZE="3">的语法还是</font><font FACE="宋体" SIZE="3">Response.Write()</font><font
SIZE="3">方法都是不行的,</font><font FACE="宋体" SIZE="3">Global.asa</font><font
SIZE="3">是任何情况下也不能进行显示的。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">你只需要在</font><font FACE="宋体"
SIZE="3">Global.asa</font><font SIZE="3">中添加一些你希望执行的脚本,那么只要</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">一创建,这些脚本就会自动执行,例如下例:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScipt RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_OnStart</p>
<p ALIGN="JUSTIFY">Session(</font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Username</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">)=</font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">Unknow</font><font SIZE="3">”</font><font FACE="Tms Rmn" SIZE="3"></p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">Session(</font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Userpassword</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">)=</font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">Unknow</font><font SIZE="3">”</font><font FACE="Tms Rmn" SIZE="3"></p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">这个脚本将”</font><font FACE="宋体"
SIZE="3">Unkonw</font><font SIZE="3">”值赋给了</font><font FACE="宋体" SIZE="3">Username</font><font
SIZE="3">和</font><font FACE="宋体" SIZE="3">UserPassword</font><font SIZE="3">变量。这个例子将在任何一个</font><font
FACE="宋体" SIZE="3">Session </font><font SIZE="3">创建的时候就执行。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">Session_Onstart</font><font SIZE="3">脚本可以用于很多种目的。例如,你希望访问者必须浏览某一个主页,下面的例子就在用户进程开始时进行了这种引导,那么这里面使用</font><font
FACE="宋体" SIZE="3">Response.redirect</font><font SIZE="3">方法。下面是这个例子:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><Script Language=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_OnStart</p>
<p ALIGN="JUSTIFY">MyHomepage=</font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">/homepage.asp</font><font
SIZE="3">”</font><font FACE="Tms Rmn" SIZE="3"></p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">RequestPage=Request.ServerVariables(</font><font SIZE="3">“</font><font
FACE="宋体" SIZE="3">SCRIPT_NAME</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">)</p>
<p ALIGN="JUSTIFY">IF NOT (STRCOMP(MyHomePage,RequestPage,vbTextCompare)=0) THEN</p>
<p ALIGN="JUSTIFY">Response.Redirect MyHomePage</p>
<p ALIGN="JUSTIFY">END IF</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">在这个脚本中,用户请求和主页路径进行比较,如果不是一样的,用户就被自动引导到该主页。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">下面的例子将</font><font FACE="宋体"
SIZE="3">Session_OnStart</font><font SIZE="3">和</font><font FACE="宋体" SIZE="3">Session_OnEnd</font><font
SIZE="3">都进行了使用:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_OnStart</p>
<p ALIGN="JUSTIFY">Response.AppendToLog Session.SessionID&</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3"> Starting</font><font SIZE="3">”</font><font FACE="Tms Rmn"
SIZE="3"></p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"><SCRIPT LANGUAGE=VBScript RUNAT=Server></p>
<p ALIGN="JUSTIFY">SUB Session_Onend</p>
<p ALIGN="JUSTIFY">Response.AppendToLog Session.SessionID&</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3"> Ending</font><font SIZE="3">”</font><font FACE="Tms Rmn"
SIZE="3"></p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY"></SCRIPT></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">这个例子中,当用户的</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">开始时,日志文件中记录了该用户的</font><font
FACE="宋体" SIZE="3">Session</font><font SIZE="3">和</font><font FACE="宋体" SIZE="3">Starting</font><font
SIZE="3">信息;当用户的</font><font FACE="宋体" SIZE="3">Session</font><font
SIZE="3">结束时,日志文件就记录了该用户的</font><font FACE="宋体"
SIZE="3">Session</font><font SIZE="3">结束的信息。这样,你就可以作很多种判断统计,例如说每个人的停留时间、站上现在有多少人等等。这样对于站点设计和定位就很有助益。</p>
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -