本人要做一个访问计数器,中间有段简单的代码:'判断是否为新创建的Session对象,如果是,将Counter变量加1,并写入文件
If Session.IsNewSession then
Counter+=1
Dim objWriter As New StreamWriter(Server.Mappath("Counter.txt"))
objWriter.Writeline(Counter)
objWriter.Close()
End if按书上说法,以及在网上查的资料,对于Session.IsNewSession变量 如果会话是新创建的才是true吧,才执行下边的啊,刷新时不执行加1才对。为什么我运行的时候,刷新执行加1了呢。反而改成“NOT Session.isnewsession”刷新却不执行了呢居然达到了效果。这是为什么?哪个地方弄错了?
另外,如果改成“not Page.ispostback”,按我的理解只有第一次执行。为什么每次刷新都执行了呢?用page.ispostback是正好相反,反而达到想要的效果了。这是为什么?谢谢,问题出在哪?怎么改?
If Session.IsNewSession then
Counter+=1
Dim objWriter As New StreamWriter(Server.Mappath("Counter.txt"))
objWriter.Writeline(Counter)
objWriter.Close()
End if按书上说法,以及在网上查的资料,对于Session.IsNewSession变量 如果会话是新创建的才是true吧,才执行下边的啊,刷新时不执行加1才对。为什么我运行的时候,刷新执行加1了呢。反而改成“NOT Session.isnewsession”刷新却不执行了呢居然达到了效果。这是为什么?哪个地方弄错了?
另外,如果改成“not Page.ispostback”,按我的理解只有第一次执行。为什么每次刷新都执行了呢?用page.ispostback是正好相反,反而达到想要的效果了。这是为什么?谢谢,问题出在哪?怎么改?
在网页中嵌入脚本
统计IIS日志
利用HttpModule
使用免费流量统计站点
记录用户登录日志,通过IP记录流量
对每一个来访IP,从数据库中查询,今天是否登录过,如果没有,就判断为新访问,加数据库中访问量加1,同时将此IP也存入数据库.
但是我打开第一次时,不管在这个页面上不断刷新,还是再打开一个页面,数值都会加1,代码都会运行。这是怎么回事呢?难道说明是Asp.net_SessionId一直不存在,一直没有建立吗?
还有就是Asp.net_SessionId,在哪个地方看?怎么看已经建立没有?谢谢!
建一个session对象假设取名为"flag",每次page_load时设置其值为1,计数程序每次检查如果flag=1则不增加访问量,如果flag !=1则访问计数器+1你看这样行不