Tutoriales ASP

ASP INICIO

Tutorial de WordPress

Introducción a las páginas web Razor de páginas web Diseño de páginas web Carpetas de páginas web Páginas web globales Formularios de páginas web Objetos de páginas web Archivos de páginas web Bases de datos de páginas web Ayudantes de páginas web Cuadrícula web de páginas web Gráficos de páginas web Correo electrónico de páginas web Seguridad de las páginas web Publicación de páginas web Ejemplos de páginas web Clases de páginas web

Maquinilla de afeitar ASP.NET

Introducción a la maquinilla de afeitar Sintaxis de la maquinilla de afeitar Variables de Razor C# Razor C# Bucles Razor C# Lógica Razor VB Variables Razor Bucles VB Razor VB Lógica

ASP clásico

Introducción ASP Sintaxis ASP Variables ASP Procedimientos ASP Condicionales ASP Bucle ASP Formularios ASP Cookies ASP Sesión ASP Aplicación ASP ASP #incluir ASP Global.asa ASP AJAX correo electrónico ASP Ejemplos de ASP

Referencia ASP

Funciones ASP VB Palabras clave ASP VB Respuesta ASP Solicitud ASP Aplicación ASP Sesión ASP Servidor ASP Error de ASP Sistema de archivos ASP flujo de texto ASP Unidad ASP Archivo ASP Carpeta ASP Diccionario ASP Rotador de anuncios ASP Cap del navegador ASP Enlace de contenido ASP Rotador de contenido ASP Referencia rápida ASP

ADO Tutorial

Introducción a ADO Conectar ADO Conjunto de registros ADO Pantalla ADO Consulta ADO Ordenar ADO Agregar Actualización de ADO ADO Eliminar Demostración de ADO Acelerar ADO

Objetos ADO

Comando ADO Conexión ADO ADO Error Campo ADO Parámetro ADO Propiedad ADO Registro ADO Conjunto de registros ADO Corriente ADO Tipos de datos ADO

ASP El archivo Global.asa


El archivo Global.asa

El archivo Global.asa es un archivo opcional que puede contener declaraciones de objetos, variables y métodos a los que se puede acceder desde todas las páginas de una aplicación ASP.

Todos los scripts de navegador válidos (JavaScript, VBScript, JScript, PerlScript, etc.) se pueden usar dentro de Global.asa.

El archivo Global.asa solo puede contener lo siguiente:

  • Eventos de aplicación
  • Eventos de sesión
  • <objeto> declaraciones
  • Declaraciones de TypeLibrary
  • la directiva #include

Nota: El archivo Global.asa debe almacenarse en el directorio raíz de la aplicación ASP y cada aplicación solo puede tener un archivo Global.asa.


Eventos en Global.asa

En Global.asa puede decirle a los objetos de la aplicación y la sesión qué hacer cuando se inicia la aplicación/sesión y qué hacer cuando finaliza la aplicación/sesión. El código para esto se coloca en los controladores de eventos. El archivo Global.asa puede contener cuatro tipos de eventos:

Application_OnStart : ocurre cuando el PRIMER usuario llama a la primera página en una aplicación ASP. Este evento ocurre después de que se reinicia el servidor web o después de que se edita el archivo Global.asa. El evento "Session_OnStart" ocurre inmediatamente después de este evento.

Session_OnStart : este evento ocurre CADA vez que un usuario NUEVO solicita su primera página en la aplicación ASP.

Session_OnEnd : este evento ocurre CADA vez que un usuario finaliza una sesión. Una sesión de usuario finaliza después de que el usuario no haya solicitado una página durante un tiempo específico (por defecto, esto es 20 minutos).

Application_OnEnd : este evento se produce después de que el ÚLTIMO usuario haya finalizado la sesión. Normalmente, este evento ocurre cuando se detiene un servidor web. Este procedimiento se usa para limpiar la configuración después de que la aplicación se detiene, como eliminar registros o escribir información en archivos de texto.

Un archivo Global.asa podría verse así:

<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: Debido a que no podemos usar los delimitadores de secuencias de comandos ASP (<% y %>) para insertar secuencias de comandos en el archivo Global.asa, colocamos subrutinas dentro de un elemento HTML <script>.



<objeto> Declaraciones

Es posible crear objetos con alcance de sesión o aplicación en Global.asa usando la etiqueta <object>.

Nota: ¡La etiqueta <object> debe estar fuera de la etiqueta <script>!

Sintaxis

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

Parameter Description
scope Sets the scope of the object (either Session or Application)
id Specifies a unique id for the object
ProgID An id associated with a class id. The format for ProgID is [Vendor.]Component[.Version]

Either ProgID or ClassID must be specified.

ClassID Specifies a unique id for a COM class object.

Either ProgID or ClassID must be specified.

Ejemplos

El primer ejemplo crea un objeto de ámbito de sesión denominado "MyAd" mediante el parámetro ProgID:

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

El segundo ejemplo crea un objeto de ámbito de aplicación denominado "MyConnection" mediante el parámetro ClassID:

<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 utilizados por cualquier script en la aplicación:

GLOBAL.ASA:

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

You could reference the object "MyAd" from any page in the ASP application:

SOME .ASP FILE:

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

Declaraciones de TypeLibrary

Una TypeLibrary es un contenedor para el contenido de un archivo DLL correspondiente a un 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 puede informar mejor de los errores. Si su aplicación web se basa en objetos COM que han declarado tipos de datos en bibliotecas de tipos, puede declarar las bibliotecas de tipos en Global.asa.

Sintaxis

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

Parameter Description
file Specifies an absolute path to a type library.

Either the file parameter or the uuid parameter is required

uuid Specifies a unique identifier for the type library.

Either the file parameter or the uuid parameter is required

version Optional. Used for selecting version. If the requested version is not found, then the most recent version is used
lcid Optional. The locale identifier to be used for the type library

Valores de error

El servidor puede devolver uno de los siguientes mensajes de error:

Error Code Description
ASP 0222 Invalid type library specification
ASP 0223 Type library not found
ASP 0224 Type library cannot be loaded
ASP 0225 Type library cannot be wrapped

Nota: las etiquetas METADATA pueden aparecer en cualquier parte del archivo Global.asa (tanto dentro como fuera de las etiquetas <script>). Sin embargo, se recomienda que las etiquetas METADATA aparezcan cerca de la parte superior del archivo Global.asa.


Restricciones

Restricciones sobre lo que puede incluir en el archivo Global.asa:

  • No puede mostrar texto escrito en el archivo Global.asa. Este archivo no puede mostrar información.
  • Solo puede usar objetos Servidor y Aplicación en las subrutinas Application_OnStart y Application_OnEnd. En la subrutina Session_OnEnd, puede usar objetos Servidor, Aplicación y Sesión. En la subrutina Session_OnStart puede usar cualquier objeto incorporado

Cómo usar las subrutinas

Global.asa se usa a menudo para inicializar variables. 

El siguiente ejemplo muestra cómo detectar la hora exacta en que un visitante llega por primera vez a un sitio web. El tiempo se almacena en una variable de sesión denominada "iniciado", y se puede acceder al valor de la variable "iniciado" desde cualquier página ASP de la aplicación:

<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 a cada nuevo visitante a otra página, en este caso a una página llamada "newpage.asp":

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

Y puede incluir funciones en el archivo Global.asa.

En el siguiente ejemplo, la subrutina Application_OnStart se produce cuando se inicia el servidor web. Luego, la subrutina Application_OnStart llama a otra subrutina llamada "getcustomers". La subrutina "obtenerclientes" abre una base de datos y recupera un conjunto de registros de la tabla "clientes". El conjunto de registros se asigna a una matriz, a la que se puede acceder desde cualquier página ASP sin consultar la base de datos:

<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>

Ejemplo de Global.asa

En este ejemplo, crearemos un archivo Global.asa que cuenta el número de visitantes actuales.

  • Application_OnStart establece la variable de aplicación "visitantes" en 0 cuando se inicia el servidor
  • La subrutina Session_OnStart agrega uno a la variable "visitantes" cada vez que llega un nuevo visitante
  • La subrutina Session_OnEnd resta uno de "visitantes" cada vez que se activa esta subrutina

El 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>

Para mostrar el número de visitantes actuales en un archivo ASP:

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