现在的位置: 首页 > 综合 > 正文

Global.asax 参考

2012年10月02日 ⁄ 综合 ⁄ 共 4013字 ⁄ 字号 评论关闭
Global.asax文件是一个可文件,用可以在文件中指定事件脚本,并声明具有会用程序作用域的象。文件的内容
户显示的,而是用来存事件信息和由用程序全局使用的象。文件的名称必 Global.asax 且必存放在用程序的
根目中。用程序只能有一个 Global.asax 文件。

Global.asax 文件只能包含如下内容:

1.用程序事件

2.事件

3.<OBJECT> 声明

TypeLibrary 声明
如果包含的脚本没有用 <SCRIPT> 标记封装,或定象没有会用程序作用域,器将返回错误。服器会忽略已
的但未被用程序或会事件使用的脚本以及文件中的 HTML 句。

可以用任何支持脚本的 Global.asax 文件中包含的脚本。如果多个事件使用同一脚本言,就可以将它们组织在一
<SCRIPT>
标记中。

当用保存 Global.asax 文件所做的更改,在重新编译 Global.asax 文件之前,服器会理当前用程序的所有
求。在此期,服器拒其他求并返回一个错误消息,明正在重启动应用程序,不能求。

当用当前的所有理完之后,服对每个会话调 Session_OnEnd 事件,除所有活,并
Application_OnEnd
事件关闭应用程序,然后编译 Global.asax 文件。接下来,用求将启动应用程序并建新的会,触
Application_OnStart Session_OnStart 事件。

但是,保存 Global.asax 文件中所包含的文件的更改并不能使服器重新编译 Global.asax识别包含文件的改
再保存一下 Global.asax 文件。

Global.asax 文件中声明的程只能从一个或多个与 Application_OnStartApplication_OnEndSession_OnStart
Session_OnEnd
事件相的脚本中用。在基于 ASP 用程序中的 ASP 中,它是不可用的。

要在用程序之共享程,可在独的文件中声明程,然后使用服器端的包含 (SSI) 句将文件包含在该过
ASP 中。通常,包含文件展名应为 .inc

基于 ASP 用程序由在其根目及其子目中所有文件成。用程序在用首次打开应用程序中的某一 Web 页时,在服
关闭时终止。用程序有两个事件,即 Application_OnStart 事件和 Application_OnEnd 事件。

可以在 Global.asax 文件中为这些事件指定脚本。当用程序启动时,服器在 Global.asax 文件中找并
Application_OnStart
事件脚本。当用程序,服 Application_OnEnd 事件脚本。

1.Application_OnStart
Application_OnStart 事件在首次建新的会(即 Session_OnStart 事件)之前生。只有 Application Server 内建
象是可用的。在 Application_OnStart 事件脚本中引用 SessionRequest 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.asax 为这两个事件指定脚本。当会话开,服器在 Global.asax 文件中找并
Session_OnStart
事件脚本。脚本将在理用户请求的 Web 之前理。在会话结,服器将 Session_OnEnd 事件
脚本。

1.Session_OnStart
Session_OnStart 事件在服建新会话时发生。服器在求的之前先脚本。Session_OnStart 事件是置会
量的最佳机,因访问任何之前都会先置它。所有内建 (ApplicationObjectContextRequest
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.asax
文件并触 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 ifEnd 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 方法在行会初始化脚本期间隐藏所有的文字。

2.Session_OnEnd
Session_OnEnd 事件在会被放弃或超时发生。在服器内建象中,只有 ApplicationServer Session 象可用。


<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnEnd. . . End Sub

</SCRIPT>

参数
ScriptLanguage
指定用于写事件脚本的脚本言。可以是任一支持脚本写的言,例如 VBScript JScript。如果有多个事件使用同
脚本言,可以将其

抱歉!评论已关闭.