Latest web development tutorials

ASP Global.asa

archivo Global.asa

global.asa archivo es un archivo opcional que puede contener declaraciones están sujetas las aplicaciones ASP cada página se accede, variables y métodos.

Todos los guiones navegador legítimos (JavaScript, VBScript, JScript, PerlScript etc.) se pueden utilizar en el Global.asa.

Global.asa archivo sólo puede contener lo siguiente:

  • eventos de aplicaciones
  • sesión de eventos
  • <Objeto> declaración
  • Declaración TypeLibrary
  • directiva #include

Nota: archivo Global.asadebe ser almacenado en el directorio raíz de la aplicación ASP, y cada aplicación sólo puede tener un archivo Global.asa.


eventos Global.asa

En Global.asa se puede decir que los objetos de aplicación y de sesión cuando la aplicación / sesión a partir de qué hacer, qué hacer cuando el final de la aplicación / sesión. El código para realizar esta tarea se coloca en el controlador de eventos. archivo Global.asa puede contener cuatro tipos de eventos:

Application_OnStart - Este evento se produce cuando un usuario llama a la primera página de la primera aplicación ASP.Este evento se reiniciará el servidor Web o que ocurre después de que el archivo Global.asa se editó. "Session_OnStart" evento se produce después de este evento se produce inmediatamente.

Session_OnStart - Este evento se produce cada vez que un nuevo usuario él (ella) pide en una aplicación ASP en la primera página.

Session_OnEnd - Este evento se produce cada vez que la sesión de usuario final.Si el usuario no solicita cualquier página, la sesión de usuario terminará dentro de un tiempo predeterminado (el tiempo predeterminado es de 20 minutos).

Application_OnEnd - Este evento cuando el usuario termina su última sesión se produce.Por lo general, el evento se produce cuando se detiene el servidor Web. Esta subrutina se utiliza después de la aplicación deje de opciones de purga, tales como registros de borrado o escribir información en un archivo de texto.

Un archivo global.asa podría ser:

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

sub Application_OnStart
'some code
end sub

sub Application_OnEnd
'some code
end sub

sub Session_OnStart
'some code
end sub

sub Session_OnEnd
'some code
end sub

</script>

Nota: Puesto que no podemos utilizar los delimitadores de secuencia de comandos ASP (<% y%>) insertar secuencias de comandos en el archivo Global.asa, tenemos que manejar la rutina colocado en la etiqueta HTML <script> elemento en el interior.


<Objeto> declaración

¿Puede la etiqueta <object> para crear objetos con la sesión o el ámbito de aplicación en el archivo Global.asa utilizando.

NOTA: <object> etiqueta debe estar en la etiqueta <script> afuera!

gramática

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

参数 描述
scope 设置对象(Session 或 Application)的作用域。
id 为对象指定一个唯一的 id。
ProgID 与 ClassID 关联的 id。ProgID 的格式是:[Vendor.]Component[.Version]。

ProgID 或 ClassID 必需被指定。

ClassID 为 COM 类对象指定一个唯一的 id。

ProgID 或 ClassID 必需被指定。

Ejemplos

La primera instancia mediante el parámetro identificador de programa para crear un objeto de ámbito de sesión llamada "Myad" de:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

La segunda instancia se crea mediante el uso del ámbito de aplicación de parámetros ClassID objetos llamados "MyConnection" de:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Los objetos declarados en el archivo Global.asa pueden ser cualquier secuencia de comandos de la aplicación:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

您可以从 ASP 应用程序中的任意页面引用 "MyAd" 对象:

某个 .ASP 文件:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>


Declaración TypeLibrary

TypeLibrary (tipo de biblioteca) es un recipiente que comprende un correspondientes archivos DLL objeto COM. Al incluir una llamada a TypeLibrary en el archivo Global.asa, se puede acceder a las constantes del objeto COM, y el código ASP también en mejores condiciones para reportar errores. Si la aplicación web se basa en los tipos de datos de objetos COM declarados en una biblioteca de tipos, puede escribir bibliotecas de declaración Global.asa.

gramática

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

参数 描述
file 规定指向类型库的绝对路径。

file 参数或者 uuid 参数,两者缺一不可。

uuid 规定了类型库的唯一的标识符。

file 参数或者 uuid 参数,两者缺一不可。

version 可选。用于选择版本。如果没有找到需要的版本,将使用最接近的版本。
lcid 可选。用于类型库的地区标识符。

valor de error

El servidor devuelve uno de los mensaje de error:

错误代码 描述
ASP 0222 无效的类型库规范
ASP 0223 没有找到类型库
ASP 0224 无法加载类型库
ASP 0225 无法包装类型库

Nota: etiqueta de metadatosen el global.asa archivo en cualquier lugar (dentro y fuera de la etiqueta <script> puede ser) aparece. Sin embargo, le recomendamos etiqueta de metadatos colocado en la parte superior del archivo Global.asa.


limitado

Acerca del archivo Global.asa se puede hacer referencia en el contenido definido:

  • archivo Global.asa que no se puede mostrar el texto. Este archivo no se puede mostrar información.
  • Sólo se puede usar Server y objetos de aplicación Application_OnStart y Application_OnEnd subrutinas. En la subrutina Session_OnEnd, puede utilizar servidores, aplicaciones y objetos Session. En la subrutina Session_OnStart, puede utilizar cualquier objeto incorporado.

Cómo utilizar subrutinas

Global.asa comúnmente utilizado para inicializar las variables.

El siguiente ejemplo muestra cómo detectar el momento exacto de los visitantes del sitio Web primero en llegar. El tiempo se almacena en el objeto de sesión llamada "comenzó", y el valor de "iniciación" variable puede ser cualquier página de la aplicación ASP puntos de vista:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa también se puede utilizar para controlar el acceso a la página.

El siguiente ejemplo muestra cómo redirigir cada nuevo visitante a otra página, en este caso, será dirigido a una página "newpage.asp" llamado:

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Puede incluir funciones en el archivo global.asa.

En el siguiente ejemplo, cuando el servidor Web se inicia, Application_OnStart subrutina se iniciará. Entonces, Application_OnStart llama a otra subrutina llamada "GetCustomers" subrutina. "GetCustomers" subrutina se abre una base de datos y recupera un conjunto de registros de la tabla "clientes". Este registro se asigna a un conjunto de montaje, sin consultar la base de datos, las páginas ASP Para acceder a esta matriz:

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

sub Application_OnStart
getcustomers
end sub

sub getcustomers
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=conn.execute("select name from customers")
Application("customers")=rs.GetRows
rs.Close
conn.Close
end sub

</script>


ejemplos Global.asa

En este ejemplo, vamos a crear un cálculo del número actual de visitantes archivo Global.asa.

  • Cuando se inicia el servidor, Application_OnStart establece "visitantes" de la variable de aplicación es de 0.
  • Cada vez que un nuevo programa de visitas vienen a visitar, Session_OnStart subrutina será el de los "visitantes" variable más uno.
  • Cada vez que se activa Session_OnEnd subrutina, la subrutina se restará de los "visitantes" variables 1.

archivo Global.asa:

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

Sub Application_OnStart
Application("visitors")=0
End Sub

Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub

</script>

En el archivo ASP que muestra el número actual de visitantes:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>