当前位置:中国星空学习网首页>网络编程>ASP>正文  
Global.asa文件的使用

  sample :

〈SCRIPT Language=“VBScript“ RunAt=“Server“〉
Sub Application_OnStart()
   Application(“Counter“) = 0
End Sub

Sub Session_OnStart()
   Application.Lock
   Application(“Counter“) = Application(“Counter“) + 1
   Application.UnLock
End Sub

Sub Session_OnEnd()
   Application.Lock
   Application(“Counter“) = Application(“Counter“) - 1
   Application.UnLock
End Sub
〈/SCRIPT〉
---------------------------------------------------------------

Global.asa文件放在网站跟目录下,当每个用户访问网站的时候自动执行里面的代码。
Application_OnStart 是对启动Application 时执行,
Application_OnEnd 是当关闭Application 时执行,
Session_OnStart 是当创建新Session的时候执行,
Session_OnEnd 是当Session过期的时候执行。
---------------------------------------------------------------

Global.asa 文件是一个可选文件,用户可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容
给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件的名称必须是 Global.asa 且必须存放在应用程序的
根目录中。每个应用程序只能有一个 Global.asa 文件。
Global.asa 文件只能包含如下内容:
1.应用程序事件
2.会话事件
3.〈OBJECT〉 声明 TypeLibrary 声明
如果包含的脚本没有用 〈SCRIPT〉 标记封装,或定义的对象没有会话或应用程序作用域,则服务器将返回错误。服务器会忽略已标
记的但未被应用程序或会话事件使用的脚本以及文件中的 HTML 语句。可以用任何支持脚本的语言编写 Global.asa 文件中包含的脚本。如果多个事件使用同一种脚本语言,就可以将它们组织在一组
〈SCRIPT〉 标记中。当用户保存对 Global.asa 文件所做的更改时,在重新编译 Global.asa 文件之前,服务器会结束处理当前应用程序的所有请
求。在此期间,服务器拒绝其他请求并返回一个错误消息,说明正在重启动应用程序,不能处理请求。当用户当前的所有请求处理完之后,服务器对每个会话调用 Session_OnEnd 事件,删除所有活动会话,并调用
Application_OnEnd 事件关闭应用程序,然后编译 Global.asa 文件。接下来,用户的请求将启动应用程序并创建新的会话,触
发 Application_OnStart 和 Session_OnStart 事件。但是,保存 Global.asa 文件中所包含的文件的更改并不能使服务器重新编译 Global.asa。为了让服务器识别包含文件的改动,
必须再保存一下 Global.asa 文件。在 Global.asa 文件中声明的过程只能从一个或多个与 Application_OnStart、Application_OnEnd、Session_OnStart 和
Session_OnEnd 事件相关的脚本中调用。在基于 ASP 的应用程序中的 ASP 页中,它们是不可用的。要在应用程序之间共享过程,可在单独的文件中声明这些过程,然后使用服务器端的包含 (SSI) 语句将该文件包含在调用该过程
的 ASP 页中。通常,包含文件的扩展名应为 .inc。
基于 ASP 的应用程序由在其根目录及其子目录中所有文件组成。应用程序在用户首次打开应用程序中的某一 Web 页时启动,在服
务器关闭时终止。应用程序有两个事件,即 Application_OnStart 事件和 Application_OnEnd 事件。用户可以在 Global.asa 文件中为这些事件指定脚本。当应用程序启动时,服务器在 Global.asa 文件中查找并处理
Application_OnStart 事件脚本。当应用程序终止时,服务器处理 Application_OnEnd 事件脚本。

1.Application_OnStart
Application_OnStart 事件在首次创建新的会话(即 Session_OnStart 事件)之前发生。只有 Application 和 Server 内建
对象是可用的。在 Application_OnStart 事件脚本中引用 Session、Request 或 Response 对象将导致错误。语法
〈SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server〉 Sub Application_OnStart. . . End Sub〈/SCRIPT〉
参数
ScriptLanguage
指定用于编写事件脚本的脚本语言。它可以是任何支持脚本编写的语言,例如 VB Script 或 JScript。如果多个事件使用同一种
脚本语言,就可以将它们组织在一个 〈SCRIPT〉 标记下。

2.Application_OnEnd
Application_OnEnd 事件在应用程序退出时于 Session_OnEnd 事件之后发生,只有 Application 和 Server 内建对象可用。语法
〈SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server〉 Sub Application_OnEnd. . . End Sub〈/SCRIPT〉
参数
ScriptLanguage
指定用于编写事件脚本的脚本编写语言。可以是任何一种支持脚本的语言,例如 VBScript 或 JScript。如果有多个事件使用同
一种脚本编写语言,就可以将它们组织在一组 〈SCRIPT〉 标记下。
注释
不能在 Application_OnEnd 脚本中调用 MapPath 方法。
当没有会话的用户在打开应用程序中的 Web 页时,Web 服务器会自动创建会话。当超时或服务器调用 Abandon 方法时,服务器
将终止该会话。会话有两个事件,即 Session_OnStart 事件和 Session_OnEnd 事件。可以在全局文件 Global.asa 中为这两个事件指定脚本。当会话开始时,服务器在 Global.asa 文件中查找并处理
Session_OnStart 事件脚本。该脚本将在处理用户请求的 Web 页之前处理。在会话结束时,服务器将处理 Session_OnEnd 事件
脚本。
1.Session_OnStart
Session_OnStart 事件在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本。Session_OnStart 事件是设置会
话期变量的最佳时机,因为在访问任何页之前都会先设置它们。所有内建对象 (Application、ObjectContext、Request、
Response、Server 和 Session) 都可以在 Session_OnStart 事件脚本中使用和引用。语法

〈SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server〉
 Sub Session_OnStart. . .
 End Sub
〈/SCRIPT〉
参数
ScriptLanguage
指定用于编写事件脚本的脚本编写语言。可以是任何一种支持脚本的语言,例如 VBScript 或 JScript。如果有多个事件使用同一种脚本编写语言,就可以将它们组织在一组 〈SCRIPT〉 标记下。
示例
尽管在 Session_OnStart 事件包含 Redirect 或 End 方法调用的情况下 Session 对象仍会保持,然而服务器将停止处理Global.asa 文件并触发 Session_OnStart 事件的文件中的脚本。举一个例子,为了确保用户在打开某个特定的 Web 页时始终启动一个会话,就可以在 Session_OnStart 事件中调用 Redirect方法。当用户进入应用程序时,服务器将为用户创建一个会话并处理 Session_OnStart 事件脚本。您可以将脚本包含在该事件中以便检查用户打开的页是不是启动页,如果不是,就指示用户调用 Response.Redirect 方法启动网页。其演示如下例所示。

〈SCRIPT RUNAT=Server Language=VBScript〉
Sub Session_OnStart
’Make sure that new users start on the correct
’page of the ASP application.’ Replace the value given to startPage below
’with the virtual path to your application’s
’start page.
startPage = “/MyApp/StartHere.asp“
currentPage = Request.ServerVariables(“SCRIPT_NAME“)
’Do a case-insensitive compare, and if they
’don’t match, send the user to the start page.
if strcomp(currentPage,startPage,1) then
 Response.Redirect(startPage)
end if
End Sub
〈/SCRIPT〉

上述示例只能在支持 cookie 的浏览器中运行。因为不支持 cookie 的浏览器不能返回 SessionID cookie,所以,每当用户请求 Web 页时,服务器都会创建一个新会话。这样,对于每个请求,服务器都将处理 Session_OnStart 脚本并将用户重定向到启动页中。如果您要使用下面的脚本,建议您在启动页上放一个通知,告诉用户该站点要求支持 cookie 的浏览器。
注释
请注意,在 Redirect 方法之后的任何 Session_OnStart 事件脚本都不会执行。因此,应该在您的事件脚本的最后再调用 Redirect 方法。其演示如下例所示。

〈SCRIPT LANGUAGE=VBScript RUNAT=Server〉
Sub Session_OnStart
’ Session initialization script
Response.Redirect “http:/server/app/StartHere.asp“
End sub
〈/SCRIPT〉

    在上面的例子中,Redirect 方法在执行会话初始化脚本期间隐藏所有显示给客户的文字。

 

上一篇: 如何用ASP直接将服务器端的某个文件夹下的所有文件下载到客户端指定的文件夹中
下一篇: 使用 ASP 生成 RTF 文档以将数据流传送到 Microsoft Word
站内公告
栏目导航
 Windows系统
 Linux/DOS
 办公应用
 工具软件
 图形图象
 网络应用
 安全防御
 网络编程
 软件教程
 实用技术
最新文章
中国星空图片网
·人体艺术
·性感美眉
·生活自拍
·幽默搞笑
·超级帅哥
·精彩万花筒
·梦幻景色
中国星空探索网
·神秘追踪 灵异接触
·鬼故事 灵异空间 图片
·未解之谜 探索宇宙
中国星空两性网
·两性图文 我的性事 情人 成人幽默
·性爱技巧 两性测试 性爱误区
·性事花边 生育避孕 性保健 性疾病
·两性生理 文化 讨论 心理 知识
·爱人同志 非常男女 一夜情
中国星空算网命
·手机吉凶 QQ号码吉凶 周公解梦
·塔罗牌测试 狗年运程
·关公灵签 紫薇斗数 八字排盘
·测试:你的成功指数有多少
·测验你的家庭是否美满?
·面相: 面型 眼睛 耳朵 口唇
·手相:拉你一把奶油桂花手
·测试:你能成为大富翁吗?
联系方式 设为首页
中国星空旗下---中国星空学习网    Copyright 2005-2050 Year   xx.happy369.com  Networks.All rights reserved
中国星空网所有内容均来源于网络,版权属于原作者,如侵犯到您的权益,请与我们联系,我们将尽快予以删除或处理。
中国星空不承担由于内容的合法性及健康性所引起的一切争议和法律责任。
陕ICP备05011765号 联系我们 
《女人如烟》--演唱:魏佳艺