欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP基础入门第九篇(Global.asa文件的使用)

程序员文章站 2022-06-22 13:22:46
下面我来向大家介绍 global.asa 文件的使用方法。    什么是 global.asa 文件?它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具...

下面我来向大家介绍 global.asa 文件的使用方法。

   什么是 global.asa 文件?它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件的名称必须是 global.asa 且必须存放在应用程序的根目录中。每个应用程序只能有一个 global.asa 文件。

   在 global.asa 文件中,如果包含的脚本没有用 < script> 标记封装,或定义的对象没有会话或应用程序作用域,则服务器将返回错误。我们可以用任何支持脚本的语言编写 global.asa 文件中包含的脚本。如果多个事件使用同一种脚本语言,就可以将它们组织在一组 < script> 标记中。

   在 global.asa 文件中声明的过程只能从一个或多个与 application_onstart、application_onend、session_onstart 和 session_onend 事件相关的脚本中调用。在基于 asp 的应用程序的 asp 页中,它们是不可用的。如果要在应用程序之间共享过程,可在单独的文件中声明这些过程,然后使用服务器端包容 (ssi) 语句将该文件包含在调用该过程的 asp 程序中。通常,包含文件的扩展名应为 .inc。

下面是一个很标准的global.asa 文件:

< script language="vbscript" runat="server">

'session_onstart 当客户首次运行 asp 应用程序中的任何一个页面时运行

'session_onend 当一个客户的会话超时或退出应用程序时运行

'application_onstart 当任何客户首次访问该应用程序的首页时运行

'application_onend 当该站点的 web 服务器关闭时运行

< /script>

< script language="vbscript" runat="server">

sub application_onstart

visitorcountfilename = server.mappath ("/ex2") + "\visitcount.txt"

set fileobject = server.createobject("scripting.filesystemobject")

set out= fileobject.opentextfile (visitorcountfilename, 1, false, false)

application("visitors") = out.readline

application("visitorcountfilename") = visitorcountfilename

end sub
'=========================================================
sub application_onend

set fileoutobject = server.createobject("scripting.filesystemobject")

set out= fileoutobject.createtextfile (application("visitorcountfilename"), true,false)

out.writeline(application("visitors"))

end sub
'=========================================================sub session_onstart
session.timeout = 5

application("visitors") = application("visitors") + 1

session("id")=session.sessionid

end sub

< /script>

   在这个 global.asa 程序中,涉及到了 asp 的 file access 组件,它可以提供用于访问文件系统的方法、属性和集合。这将在以后 asp 的组件中进行展开讨论。在这里,它起到了在服务器上创建新文件并对文件进行写操作的作用。这其实是一个 asp 页面访问记数器应用程序的 global 文件,首先当客户首次访问该应用程序的首页时 , 过程 application_onstart 定义了在服务器上指定的虚拟目录下新建一个 visitcount.txt 的文本文件,并将文件的路径和内容保存在应用程序级的变量中。而当任何一个客户访问 asp 应用程序中的任何一个页面时,过程 session_onstart 定义将应用程序级的变量 visitors 的值自动加一。这样,每当有客户访问页面时,变量 visitors 都将自动加一,以起到统计点击率的作用。由于变量 visitors 的值是存储在系统内存之中,所以如果服务器关闭或重新启动,存储在变量中的数据将自动丢失,所以通过定义过程 application_onend,在服务器关闭或重启之前将数据写入事先建立的文本文件之中,这样就能确保当服务器再次启动时,application_onstart 过程可以从 visitcount.txt 文件中读取以前的统计数。

以上就是本文的全部内容,希望对大家的学习有所帮助。