为什么啊?

benny008ok 2004-12-16 01:32:11
为什么我的Global.asa文件里
<Script language="vbscript" runat="server">
Sub Application_OnStart
End Sub

Sub Session_OnStart
Session("User") = ""
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnEnd
'If Session("score") <> 0 Or Session("res") <> 0 Or Session("note") <> 0 Then
Dim con,conStr, rs, strSelect
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("..\bbs\database\db.mdb")
strSelect = "SELECT integral, resNu, noteNu FROM users WHERE id = '" & Session("User") & "'"
Set con = Server.CreateObject("ADODB.Connection")
con.Open conStr
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSelect, con, 3, 3
rs(0) = rs(0) + Session("score")
rs(1) = rs(1) + Session("res")
rs(2) = rs(2) + Session("note")
rs.Update
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
'End If
Session.Contents.Remove("User")
End Sub
</Script>
Session_OnEnd函数不会执行?
我测试过了Session_OnStart可以执行!

求救啊!
...全文
81 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
benny008ok 2004-12-20
  • 打赏
  • 举报
回复
嗯~~~

好的!

这两天没时间,所以还没有去试过!
leinchu 2004-12-20
  • 打赏
  • 举报
回复
global.asa
<Script language="vbscript" runat="server">
Sub Application_OnStart
End Sub
Sub Session_OnStart
session("abc")=2
session("login")=now()
session.timeout=1
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnEnd
Dim con,conStr, rs, strSelect,rcd
conStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =E:\dvbbs7.0.0_Ac\dvbbs\db.mdb "
strSelect = "select tc from t1 where id="&session("abc")
Set cons = Server.CreateObject("ADODB.Connection")
cons.Open conStr
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSelect,cons,3,3
rcd="log on "&session("login")&" log out="&now()
rs(0)=rcd
rs.update
rs.Close
cons.Close
Set rs = Nothing
Set cons = Nothing
application("tt")=rcd
End Sub
</Script>

数据库 db.mdb 表t1 :id自动编号,tc text。id=2有条记录。
t1.asp

<%= application("tt")%>

先载入t1.asp,是空白的,1分钟后回来:
log on 2004-12-20 10:44:37 log out=2004-12-20 10:46:37

数据库内容也变了。
dh20156 2004-12-17
  • 打赏
  • 举报
回复
关闭IE和SESSION失效没有关联吧?
Session_OnEnd 触发的时间与timeout的时间有点延时
benny008ok 2004-12-17
  • 打赏
  • 举报
回复
不是的!
我的id和Session("User")是昵称来的!
leinchu 2004-12-17
  • 打赏
  • 举报
回复
天啊,果然能操作啊,能够读取、插入新记录、更新,
仔细看了的程序,应该没问题,但是
strSelect = "SELECT integral, resNu, noteNu FROM users WHERE id = '" & Session("User") & "'"
id 应该是数字吧? Session("User") 是什么呢?用户名?是不是这里错了?
wangwl 2004-12-17
  • 打赏
  • 举报
回复
Session_OnEnd是在Session失效的时候执行,与浏览器进程无关
IIS默认的Session_Timeout是20分钟,也就是浏览器进程20分钟没有向服务器发送请求,Session就会失效,同时触发Session_OnEnd事件。
benny008ok 2004-12-17
  • 打赏
  • 举报
回复
谢谢楼上的!
让我试一下再说了!
dh20156 2004-12-17
  • 打赏
  • 举报
回复
那可能是你的代码的问题了,你参考一下这个:
<script language="VBScript" runat="Server">
sub application_onstart

end sub

sub session_onstart
session.timeout=60
end sub

sub session_onend
logid=Session("logid")
userid=Session("userid")
logonname=Session("logonname")
logid=Session("logid")
userid=Session("userid")
logonname=Session("logonname")
dim conn,dsn
Set conn=Server.CreateObject("Adodb.Connection")
dsn="Driver=SQL Server;Server=localhost;UID=sa;password=123456789;DATABASE=test"
conn.open dsn
conn.execute("Update logonlog Set logoutsj=getdate() where logid="&logid&"")
conn.execute("Update logonlog Set online=0 where logid="&logid&"")
conn.execute("Insert into dolog(userid,logonname,dowhat,dosj) VALUES ("&userid&",'"&logonname&"','退出',getdate())")
conn.close
Set conn=Nothing
end sub
</script>
benny008ok 2004-12-17
  • 打赏
  • 举报
回复
但是我第二天去看也没有更新啊!
benny008ok 2004-12-16
  • 打赏
  • 举报
回复
可以操作数据库的!我试过了!

但问题还没有解决啊!
leinchu 2004-12-16
  • 打赏
  • 举报
回复
大哥,具我所知,global.asa里面是不可以操作数据库的,只可以操作session和application。
whb147 2004-12-16
  • 打赏
  • 举报
回复
Session_OnEnd
我就从来没有正确运行过,呵呵
一般不用,想别的办法
comszsoft 2004-12-16
  • 打赏
  • 举报
回复
可能是ie关闭后session还未失效,用Session.Abandon() 试试看
sdts 2004-12-16
  • 打赏
  • 举报
回复
我的Application_OnEnd也不起作用
Session_OnEnd在浏览器关闭时不执行吗?
wangwl 2004-12-16
  • 打赏
  • 举报
回复
Session_OnEnd是在Session过期之后执行的~~可以设定Session_Timeout来指定过期时间。

28,391

社区成员

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

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