前几天有人问session_onend里能不能用session("xxx")的问题,现回答如下:
在global.asa的SESSION_ONEND里是不能用SESSION("XXX")这种形式来访问即将释放的SESSION变量的,但是可以用CONTENTS集合的方法来读取变量的值。
例如:
在DEFAULT。ASP里用了3个SESSION变量
....
session("pass")=true
session("id")=rs("id")
session("user")=rs("name")
.......
此时在GLOBAL。ASA里如果用
sub Session_OnEnd
if session("pass") then
application("online")=application("online")-1
end if
end sub
程序是不会执行THEN里的内容,但是换成CONTENTS的话就可以了
sub Session_OnEnd
if session.contents(1) then
application("online")=application("online")-1
end if
end sub
在这个例子里
session.contents(1)=true
session.contents(2)=rs("id")的值
session.contents(3)=rs("user")的值
CONTENTS可以理解为一个数组,它装载的是所有SESSION变量的值,请注意变量的顺序与数组里下标的联系。
在global.asa的SESSION_ONEND里是不能用SESSION("XXX")这种形式来访问即将释放的SESSION变量的,但是可以用CONTENTS集合的方法来读取变量的值。
例如:
在DEFAULT。ASP里用了3个SESSION变量
....
session("pass")=true
session("id")=rs("id")
session("user")=rs("name")
.......
此时在GLOBAL。ASA里如果用
sub Session_OnEnd
if session("pass") then
application("online")=application("online")-1
end if
end sub
程序是不会执行THEN里的内容,但是换成CONTENTS的话就可以了
sub Session_OnEnd
if session.contents(1) then
application("online")=application("online")-1
end if
end sub
在这个例子里
session.contents(1)=true
session.contents(2)=rs("id")的值
session.contents(3)=rs("user")的值
CONTENTS可以理解为一个数组,它装载的是所有SESSION变量的值,请注意变量的顺序与数组里下标的联系。