前几天有人问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变量的值,请注意变量的顺序与数组里下标的联系。
有人询问session_onend里能否用session(\xxx\),解答指出在global.asa的SESSION_ONEND里不能用该形式访问即将释放的SESSION变量,但可用CONTENTS集合方法读取。文中通过示例展示了使用CONTENTS集合替代的方式,并提醒注意变量顺序与数组下标的联系。
7661

被折叠的 条评论
为什么被折叠?



