注册 登录
编程论坛 ASP技术论坛

application,session计数问题,说说三个计数程序的区别

yqiong 发布于 2007-10-14 13:24, 1242 次点击

1.页面刷新时计数不增加
<%
if session("counter")="" then
counter=application("counter")+1
application("counter")=counter
session("counter")=counter
end if
%>
<%=session("counter")%>

2.页面刷新时计数增加

<%application.lock
application("counter")=application("counter")+1
application.unlock
%>
<%=application("counter")%>

3.页面刷新时计数增加
<% session("counter")=session("counter")+1
%>
<%=session("counter")%>


请问这三个程序为什么一个在浏览器刷新时计数有的增加,而有的不增加呢?
初学者,不懂,请详细解说!谢谢

8 回复
#2
zacom2007-10-14 13:37

因为第一个程序在第一次运行时session("count")=""所以运行下面程序,而在刷新后session("count")有了值所以不再继续下面程序.
而2和3程序没有设定条件语句,所以在每次刷新后都会增加

#3
yqiong2007-10-14 13:48

页面刷新与关闭浏览器后再打开有什么区别?

刷新时session保留(运行了下,刷新时session.sessionId值不变)?
而重打开浏览器的话session被释放?

对吗?

[此贴子已经被作者于2007-10-14 13:54:08编辑过]

#4
yqiong2007-10-14 13:49
也不对呀

刷新时session保留的话第二个程序刷新时计数为什么又增加了呢?
#5
yqiong2007-10-14 14:05

糊涂了下,刷新时session没变,即sessionID没变;但session中存放的变量在变化,故计数在增加
是这个意思吧 呵

#6
zacom2007-10-14 15:44
是的
#7
yms1232007-10-14 16:04
session只是针对某个访问的用户,而且楼主要明白一点就是session不是在关闭浏览器时释放的。在服务器端可以设置session的过期时间,只有在session到期后才会被释放掉。
application是全局的变量,这个变量一般声明后就不会被释放,只有在服务器被重起或关闭时才会释放,或者说一种办法就是手动用代码进行释放。
#8
liujun13142007-10-15 00:43

懂了!

#9
yqiong2007-10-15 12:49
谢谢版主,明白了
1