发信人: yahao()
整理人: yahao(2000-09-27 00:37:40), 站内信件
|
【 在 qcrsoft (网痞) 的大作中提到: 】 : 昨天我改动了一下global.asa,加了一段session_onstart,证明 : global.asa是执行的,请看—— : ----------------global.asa------------------- : <script language="vbscript" runat="server"> : : sub application_onstart / application_onEnd : .
先看一个我的 GLOBAL.ASA 实例: --->开始<--- <SCRIPT LANGUAGE=VBScript RUNAT=Server> '======================================================================= '# 使用应用程序变量保存在线人数等数据 '======================================================================= Sub Application_OnStart '统计在线人数清零 Application("ONLINE_USER_COUNTER") = 0 End Sub
Sub Application_OnEnd '在线人数清零 Application("ONLINE_USER_COUNTER") = Nothing End Sub
Sub Session_OnStart Session.Timeout = 30 '在线人数更新 iUser = Application("ONLINE_USER_COUNTER") Application.Lock Application("ONLINE_USER_COUNTER") = iUser + 1 Application.Unlock End Sub
Sub Session_OnEnd '在线人数更新 Session.Abandon Application.Lock Application("ONLINE_USER_COUNTER") = Application("ONLINE_USER_COUNTER")-1 Application.Unlock End Sub </SCRIPT> --->结束<---
我如果在MMC里将Webserver停掉然后再开启的话Application_OnStart事件就会触发 在线人数又从1开始了。IIS4的文档中是这么描述Application事件的:
--Quotation-- Application 事件 基于 ASP 的应用程序由在其根目录及其子目录中所有文件组成。应用程序在用户 首次打开应用程序中的某一 Web 页时启动,在服务器关闭时终止。应用程序有两 个事件,即 Application_OnStart 事件和 Application_OnEnd 事件。
用户可以在 Global.asa 文件中为这些事件指定脚本。当应用程序启动时,服务器 在 Global.asa 文件中查找并处理 Application_OnStart 事件脚本。当应用程序 终止时,服务器处理 Application_OnEnd 事件脚本。
Application_OnStart Application_OnStart 事件在首次创建新的会话(即 Session_OnStart 事件)之 前发生。只有 Application 和 Server 内建对象是可用的。在 Application_OnStart 事件脚本中引用 Session、Request 或 Response 对象将导 致错误。 --End--
也就是说在第一个用户访问页面时触发Application_OnStart事件。GLOBAL.ASA还有 一个特点就是一旦内容发生改变,WEB应用将自动重启,这个你可以在本地进行测试。 如果只是实现网页访问记数的话也可以把记数程序放在首页文件中,就像下面的例子 所使用的,这个统计是放在index.asp中的:
--Quotation-- <% Sub IncrementCounter() Set fs = Server.CreateObject("Scripting.FileSystemObject") counter_file = Server.MapPath("/count/count.txt") Set txt = fs.OpenTextFile( counter_file ) Application("counter") = txt.ReadLine txt.Close Application("counter") = Application("counter") + 1 Set txt = fs.CreateTextFile( counter_file, True ) txt.WriteLine(Application("counter")) txt.Close End Sub
Application.Lock IncrementCounter Application.UnLock %> ... 本站访问人数<%=Application("counter")%> --End--
-- Mail: [email protected] Home: http://yhpost.yeah.net -- 你好,我好,大家好。
※ 来源:.网易 BBS bbs.netease.com.[FROM: 202.109.192.6]
|
|