The Microsoft Visual InterDev manual explains the global.asa file as follows: The Global file is an optional file in which you can specify event scripts and declare objects that have session or application scope. It is not a content file displayed to the users; instead it stores event information and objects used globally by the application. This file must be named Global.asa and must be stored in the root directory of the application. An application can only have one Global.asa file.

Global.asa files can contain only the following:
  • Application events
  • Session events
  • <OBJECT> Declarations
If you include script that is not enclosed by <SCRIPT> tags or that defines an object that does not have session or application scope, the server returns an error. The server ignores both tagged script that the application or session events do not use as well as any HTML in the file.

The scripts contained in the Global.asa file may be written in any supported scripting language. If multiple event or object scripts use the same scripting language, they can be combined inside a single set of <SCRIPT> tags.

Global.asa Example
A global.asa with empty event scripts would look like this:

<script language=vbscript runat=server>
SUB Application_OnStart

SUB Application_OnEnd

SUB Session_OnStart

SUB Session_OnEnd
END SUB </script>

Global.asa Events

The Application_OnStart event is executed the first time that an ASP page within an application is requested.

This event is executed for each user when they first request a page within an application.

This event is called when a user's session ends. This could be cause by an explicit end (ie: session.abandon) or the session timeout being exceeded.

This event is called when the application ends. This could be cause by the application being inactive for a period of time or the web site being stopped.