global.asa中的application_onstart 里有这么一句话,什么意思??

quicklyonline 2009-10-16 02:07:59
<script language="vbscript" runat="server">
sub application_onstart
application("thetime")=now()
end sub
</script>

请教大家几个问题:

1,这个事件,是每个人都触发,还是第一个访问的人触发?

2,变量中保存的时间,是不是永远不会变化?

3,服务器重启,IIS重启,这个变量是不是就为空了

4,这个变量有没有过期时间??何时从内存中释放?

5,我想在服务器内存中一直保存这个变量,也就是某一个时间点,不想被人改,怎么办?


谢谢。




PS:我想这个变量一直存在,这样我就可以判断我的虚拟主机什么时候重新启动了,IIS什么时候重新启动了。呵呵。
...全文
70 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
发泄网 2009-10-16
  • 打赏
  • 举报
回复
在Application_OnStart时,你可以另外设置一个Application("Count")=1
然后判断Application("Count")是否为1,若为1,则利用3楼提供的方法进行.

之后,Application("Count")自增。
前提,在操作Application之前需要先锁定。
三楼の郎 2009-10-16
  • 打赏
  • 举报
回复
sub application_onstart
application.unlock
application("thetime")=now()
application.lock
end sub
改成这样再试试,如果每个用户访问都会调用的话,那你访问一次然后关闭所有的IE窗口然后再重新访问一次时间就该马上发生变化了,根本用不着等30分钟。
quicklyonline 2009-10-16
  • 打赏
  • 举报
回复
我测试了,隔半个小时左右,这个application("thetime")变量就更新一个值。


不可能是服务器重启,也不可能是IIS重启。我用的是万网的空间。


我想知道,为什么半个小时左右,它就变了,什么原因变的??
三楼の郎 2009-10-16
  • 打赏
  • 举报
回复
自己测试下不就知道了,懒!
三楼の郎 2009-10-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 quicklyonline 的回复:]
到底是不是每个访问者访问网站的时候,都会执行

sub application_onstart
application("thetime")=now()
end sub

如果都会执行的话,那保存的变量的值就是一直变化的。那就没意义了。
[/Quote]
session_onstart是每个访问者访问的时候都执行,Application_onStart不是
laomeng520 2009-10-16
  • 打赏
  • 举报
回复
帮顶
quicklyonline 2009-10-16
  • 打赏
  • 举报
回复
到底是不是每个访问者访问网站的时候,都会执行

sub application_onstart
application("thetime")=now()
end sub

如果都会执行的话,那保存的变量的值就是一直变化的。那就没意义了。
ayouori 2009-10-16
  • 打赏
  • 举报
回复
建一个iis.txt


Function readtxtfile(fname)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim filestr
filename=server.mappath(fname)
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(filename)
Set readf = f.OpenAsTextStream(1,0)
filestr = filestr & readf.ReadLine & chr(13) & chr(10)
do while not readf.atendofstream
filestr = filestr & readf.ReadLine & chr(13) & chr(10)
Loop
readf.close
readtxtfile = filestr
End Function
Function MakeStrFile(Str,Url)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(server.mappath(Url))
fout.Write Str
fout.close
set fout=nothing
set fso=nothing
MakeStrFile = true
End Function
Sub SetIISinfo(NewIISstr)
iisStr = readtxtfile("iis.txt")
iisStr = iisStr & Chr(13) & Chr(10) & NewIISstr
t = MakeStrfile(iisStr,"iis.txt")
end Sub
sub application_onstart
application("thetime")=now()
SetIISinfo(now())
end sub
三楼の郎 2009-10-16
  • 打赏
  • 举报
回复
1、IIS启动后第一次访问网站时触发
2、如果没有在程序里面修改,IIS不重起会永久保存。
3、IIS重启后这个变量会被重置
4、没有过期时间,不会自动释放
5、可通过程序修改,最好是写库或写文件。
zy13665886 2009-10-16
  • 打赏
  • 举报
回复
1、每个人都触发
2、是的
3、是的
4、没有过期时间,不存在内存释放
5、不知道了

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧