与前面说到的Application对象一样,Session对象也有两个事件:Session_OnStart事件和Session_OnEnd事件。使用语法与Application对象类似,如下:
Sub Session_OnStart
事件处理对象程序
End Sub
Sub Session_OnEnd
事件处理对象程序
End Sub
注意:使用Session必须将浏览器的cookie打开,默认设置就是开启的。
例:记录网页被访问情况
首先用Assess建立一个名为br.mdb数据库文件,在数据库里建立一个user表,字段名称和类型如下:
| 字段名称 | 数据类型 | 说明 |
| ID | 自动编号 | |
| IP | 文本 | 记录用户IP地址 |
| Startime | 日期/时间 | 记录用户进入页时间 |
| Endtime | 日期/时间 | 记录用户结束浏览时间 |
建立一个名为Global.asa(此文件放在网站根目录下)的文件,内容如下:
<script language="Vbscript" runat="server">
Sub session_onstart
<!—记录IP地址 -->
Session("IP")=request.servervariables("Local_ADDR")
<!—记录开始访问时间 -->
Session("startime")=now
End Sub
Sub Session_onEnd
<!—指出数据库类型和名称 -->
Dbname="driver={Microsoft Access Driver(*.mdb)};dbq="&server.mappath(br.mdb)
<!—建立记录集 -->
Set rs=server.createobject("ADODB.recordset")
Sql="select * from user"
Rs.open sql,dbname,1,2
<!—添加记录-->
Rs.addnew
Rs("IP")=session("IP")
Rs("startime")= session("startime")
Rs("endtime")=now
Rs.update
<!—释放rs对象 -->
Set rs=nothing
End sub
</script>
建立名为user.asp的文件,用户在访问该页面时会显示自己的IP和访问时间,这时系统会自动激活Session_OnStart事件,当用户离开页面时,会激活Session_OnEnd事件,将用户的IP、浏览起始时间、结束时间存入数据库。程序内容如下:
<%
<!—用户在1分钟之内没有请求,系统会自动激活Session_OnEnd事件-->
Session.timeout=1
Response.write "您好,欢迎访问本站!您的IP地址为:" & Session("IP") & "您开始访问本站的时间是:" & session("startime")
%>
在浏览器中访问user.asp测试一下,如下图所示:

上一节:[轻松学习ASP之Session对象简介] 下一节:[轻松学习ASP之Session对象属性]
原创文章,如需转载,请注明出处:
本文转自:晓宁博客 [ http://www.grnnet.com ]
原文地址:http://www.grnnet.com/post/123.html