请问我可否这样理解session??
每个用户都会分配到一个session集,在用户在网站的各个页面之间穿行时,如果新的页面有定义新的session属性,就把它加入到这个用户的session集中,如果不是timeout就一直有效,比如用户去做在线测试题,那么就会产生例如session(answer),session(”pagenow“)等等众多的session,它们都会加入到该用户的session集,这样理解对吗?可是我又有疑问了,如果有两个用户同时点击这个页面的话,那又怎么知道该添加到哪个用户的session中呢??还有就是其他页面的这么多的session都必须在global.asa中初始化吗?如果有很多session的话,global.asa要怎么写呀?? 问题点数:20、回复次数:11Top
1 楼popcode(枫.net)回复于 2002-05-16 00:28:48 得分 4
Session 对象
可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置空闲会话的超时期限。
如果有两个用户同时点击这个页面的话,那又怎么知道该添加到哪个用户的session中呢?
这是两个用户的session都添加的,两个session进程间不会相互影响的
还有就是其他页面的这么多的session都必须在global.asa中初始化吗?
不一定。
Top
2 楼popcode(枫.net)回复于 2002-05-16 00:31:27 得分 2
写global.asa,在文件中session的两个事件,session_onstart and session_onEndTop
3 楼Ivyhuang(看尽日落)回复于 2002-05-16 10:17:47 得分 0
那么session在什么时候开启呢?就是什么时候会运行session_onstrat事件呢,是在用户访问的页面中第一个遇到session的时候吗?Top
4 楼musicfree_uibe(阿驰)回复于 2002-05-16 10:24:50 得分 3
当服务器开机以后,遇到第一个请求时,就产生一个application_onstart和一个session_onstart并同时为这个请求分配一个sessionid。以后每受到一个新的请求就发生一个session_onstart事件!到服务器关闭的时候产生一个application_onend时间。这个是在asp3.0中,好像在asp.net中,关于这一部分有变动。Top
5 楼wuya0531(wuya)回复于 2002-05-16 10:25:45 得分 1
SESSION是线程,一个用户分配一个Top
6 楼Ivyhuang(看尽日落)回复于 2002-05-16 10:43:14 得分 0
那么你所说的每收到一次新的请求是不是就是说没有一个用户登录??Top
7 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-16 13:12:44 得分 3
每一个新请求是每一个用户第一次访问ASP页,或者是在timeout之后第一次。不一定是登陆Top
8 楼Lostinet(Hello)回复于 2002-05-16 13:27:48 得分 2
在非常模糊的思想,不算TIMEOUT下。
可以把APPLICATION当是所有机子的共同持久变量,
把SESSION当作是某台电脑所有页面的共同持久变量。Top
9 楼yzx_zyj(gg)回复于 2002-05-16 14:24:15 得分 2
APPLICATION就象对所以用户的公共全局变量
而SESSION是对某客户的公共全局变量
Top
10 楼Ivyhuang(看尽日落)回复于 2002-05-17 01:14:03 得分 0
如果有很多个如session(“rightanswer”),session(“undo”)等等,我可不可以用session.abandon来清除其中的一个呀?一旦用了session。abandon后会使sessionID改变吗?因为再我的程序中,是一份试卷,当同一个人做完一份后要求再做一份时,发现session(“rihgtanswer”)(用来记录做对的题数)还有一些类似的session属性不是重新从零算起,而是累加前面的,就是比如这次他只做了5道题,居然会显示其中回答正确的有7道?为什么??怎样才能在做完一份试卷后将与该试卷有关的所有session清空,又不改变sessionID呢??Top
11 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-17 13:42:24 得分 3
不能
会改变
从0开始算
清空应该是session.removeAllTop




