我的global.asa文件,时而执行时而不执行,怪!~

passme8 2007-04-19 10:21:08
我在global.asa文件里写入一下代码,目的是做个在线访问量的统计。session_onstart可以正常运行,将数据写入数据库;但是session_onend就是不执行,数据总不能写入数据库,但是后来我发现我随便改一下global.asa(例如在任意一行代码前加一个空格)然后保存,session_onend就能正常运行了!
global.asa文件的代码如下,各位高手帮我看看有什么问题,谢谢了。
<script language="vbscript" runat="server">
sub session_onstart
dim ip,intime,db,connstr,sqlstr
session.timeout=100
session("intime")=now()
intime=session("intime")
ip=request.servervariables("remote_addr")
session("ip")=ip
set conn=server.createobject("adodb.connection")
conn.Open "Dbq=" & Server.Mappath("db\sta.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
sqlstr="insert into tb(ip,intime) values('"&ip&"',#"&intime&"#)"
conn.execute sqlstr
end sub

sub session_onend
dim starttime,endtime,sqlstr,staytime
intime=session("intime")
outtime=now()
staytime=datediff("s",intime,outtime)
set conn=server.createobject("adodb.connection")
conn.Open "Dbq=G:\jyno3\db\sta.mdb;Driver={Microsoft Access Driver (*.mdb)}"
sqlstr="update tb set staytime='"&staytime&"',outtime=#"&outtime&"#,out=true where ip='"&session("ip")&"' and intime=#"&session("intime")&"#"
conn.execute(sqlstr)
conn.close
set conn=nothing
end sub
</script>
...全文
304 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxxzf 2007-04-19
  • 打赏
  • 举报
回复
可用 session.Abandon 強行中斷
來引發session_onend
cpp2017 2007-04-19
  • 打赏
  • 举报
回复
不是的。与你设置的过期时间有关,默认是20分钟。
passme8 2007-04-19
  • 打赏
  • 举报
回复
session什么时候才过期啊,我一直以为是退出网站(也就是把该网站的所有网页都关掉)的时候执行。难道不是吗?
cpp2017 2007-04-19
  • 打赏
  • 举报
回复
session过期时。
passme8 2007-04-19
  • 打赏
  • 举报
回复
session_onend到底是在什么时候执行啊??
cpp2017 2007-04-19
  • 打赏
  • 举报
回复
session_onend 需要一个比较长的时间才会执行。 即session过期时间不是在关闭浏览器时
wangwm 2007-04-19
  • 打赏
  • 举报
回复
global.asa文件就是这样子的,要么修改你修改了内容才可以执行,要么你重新启动IIS才能执行

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧