En la serie publicada, hemos discutido dos objetos ASP: objeto de aplicación y objeto de sesión, por lo que podemos acceder a las colecciones, métodos, propiedades y eventos proporcionados por el objeto de aplicación y el objeto de sesión. Esta sección estudiará estos dos objetos desde la perspectiva de la programación.
· Cree un objeto de aplicación cuando se carga un DLL ASP y se responde la primera solicitud a una página web ASP. Este objeto proporciona un lugar de almacenamiento para almacenar variables y objetos disponibles para todas las páginas web abridas por todos los visitantes.
· Cuando un visitante solicita una página ASP desde el sitio por primera vez, cree un objeto de sesión para él y permanezca válido hasta el período de tiempo de espera predeterminado (o el período de tiempo de espera determinado por el script). El objeto proporciona un lugar de almacenamiento para almacenar variables y objetos solo disponibles para las páginas web abiertas por el visitante durante la actividad de la sesión.
relación
1. Descripción general de los miembros del objeto de aplicación ASP
Esta sección describe la colección, los métodos y los eventos de los objetos de aplicación (los objetos de aplicación no tienen propiedades). El objeto de sesión (con propiedades) se explica en la siguiente sección. Luego continuaremos explorando las tareas realizadas con estos objetos, explicando con más detalle cómo funciona cada miembro de cada objeto.
1. Colección de objetos de aplicación
El objeto de aplicación proporciona dos colecciones que pueden usarse para acceder a variables y objetos almacenados en el espacio de aplicación global. La colección y la descripción son los siguientes:
Colección y descripción de objetos de aplicación de tabla
| recolectar | ilustrar |
| Contenido | No hay un conjunto de todas las variables (y sus valores) almacenados en el objeto de aplicación definido utilizando el elemento <Object>. Incluye referencias a matrices de variantes e instancias de objetos de tipo variante |
| Objecos staticales | Una colección de todas las variables (y sus valores) almacenadas en el objeto de aplicación definida usando el elemento <S Object> |
2. Métodos de objetos de aplicación
El método de objeto de aplicación permite eliminar valores en el espacio de aplicación global, controlando el acceso concurrente a las variables dentro de ese espacio. Los métodos e instrucciones se muestran en la siguiente tabla:
Métodos y descripciones de los objetos de aplicación de tabla
| método | ilustrar |
| Contenido.remove (variable_name) | Elimine una variable con nombre variable_name de la aplicación de la aplicación. |
| Contenido.removeall () | Elimine todas las variables de la aplicación. COLECCIÓN DE CONTENCIA |
| Cerrar con llave() | Bloquee el objeto de aplicación para que solo la página ASP actual pueda acceder al contenido. Se utiliza para garantizar que las operaciones concurrentes realizadas por métodos que permitan a dos usuarios leer y modificar el valor simultáneamente no corrompen contenido |
| Descubrir() | Desbloquear páginas web de ASP en objetos de aplicación |
Tenga en cuenta que las variables no se pueden eliminar de la colección de aplicaciones. StaticObjects durante el tiempo de ejecución.
3. Eventos de objetos de aplicación
El objeto de aplicación proporciona dos eventos que se activan cuando comienza y termina, como se muestra en la siguiente tabla:
Eventos y descripciones de objetos de aplicación de tabla
| evento | ilustrar |
| En marcha | Activado cuando ASP comienza, antes de que el usuario solicite que la página web se ejecute y antes de que cualquier usuario cree el objeto de sesión. Se utiliza para inicializar variables, crear objetos o ejecutar otro código |
| Aparecer | Activado cuando finaliza la aplicación ASP. Ocurre después de que la última sesión de usuario haya finalizado y se haya ejecutado todo el código en el evento ONEND de esa sesión. Al final, todas las variables presentes en la aplicación se cancelan |
Descripción general del miembro del objeto de sesión de ASP
Esta sección describe a todos los miembros de un objeto de sesión.
1. Colección de objetos de sesión
El objeto de sesión proporciona dos conjuntos que se pueden usar para acceder a variables y objetos almacenados en el espacio de sesión local del usuario. Estas colecciones y descripciones se muestran en la siguiente tabla:
Establecer y descripción de los objetos de sesión de la tabla
| recolectar | ilustrar |
| Contenido | Una colección de todas las variables y sus valores almacenados en este objeto de sesión en particular, y estas variables y valores no se definen utilizando elementos <S Object>. Incluye referencias a matrices de variantes e instancias de objetos de tipo variante |
| Objecos staticales | Una colección de todas las variables almacenadas en este objeto de sesión definido mediante el uso del elemento <S Object> |
2. Características de los objetos de sesión
El objeto de sesión proporciona cuatro propiedades. Estas propiedades y descripciones se muestran en la siguiente tabla:
Tabla 3-7 Propiedades y descripciones de objetos de sesión
| propiedad | ilustrar |
| Colección de códigos | Leer/escribir. Entero. Define la página de código para mostrar el contenido de la página en el navegador. Las páginas de código son valores numéricos de un conjunto de caracteres, y se pueden usar diferentes páginas de código en diferentes idiomas y lugares. Por ejemplo, el código ANSI Página 1252 se usa en inglés americano y en la mayoría de los idiomas europeos. Código La página 932 se usa para caracteres japoneses |
| Lcid | Leer/escribir. Entero. Define la ID de área de página (LCID) enviada al navegador. LCID es una abreviatura estándar internacional que identifica de manera única una región. LCID también se puede usar en FormatCurrency y otras declaraciones siempre que haya un parámetro LCID opcional. LCID también se puede configurar en la instrucción de procesamiento ASP <%& hellip;%> y tiene prioridad sobre la configuración en el atributo LCID de la sesión. Este capítulo proporciona una lista de instrucciones de procesamiento de ASP más adelante. |
| Sessiond | De solo lectura. Larga forma. Devuelve el identificador de sesión para esta sesión, que genera el servidor cuando se crea la sesión. Solo único durante la vida útil del objeto de aplicación principal, por lo que se puede reutilizar cuando se inicia una nueva aplicación |
| Se acabó el tiempo | Leer/escribir. Entero. Defina un período de tiempo de espera en minutos para esta sesión. Si el usuario no actualiza ni solicita una página web durante el período de tiempo de espera, finaliza la sesión. Puede modificarlo según sea necesario en cada página web. El valor predeterminado es de 10 minutos. Este tiempo debe ser más corto en los sitios con alto uso |
3. Métodos de objetos de sesión
El objeto de sesión permite la eliminación de valores especificados del espacio de sesión a nivel de usuario y termina la sesión según sea necesario. Los métodos y descripciones del objeto SEESION se muestran en la siguiente tabla:
Métodos y descripciones de objetos de sesión de tabla
| método | ilustrar |
| Contenido.remove (variable_name) | Eliminar una variable con nombre variable_name de la colección session.content |
| Contenido.removeall () | Eliminar todas las variables de la sesion.Content Collection |
| Abandonar() | Cuando se completa la ejecución de la página web, se finaliza la sesión de usuario actual y el objeto de sesión actual está indocumentado. Pero incluso después de que se llama el método, aún se pueden acceder a las variables de la sesión actual en la página. Cuando el usuario solicite la página siguiente, se iniciará una nueva sesión y se creará un nuevo objeto de sesión (si existe) Tenga en cuenta que las variables no se pueden eliminar de la colección Session. StaticObjects durante el tiempo de ejecución. |
4. Eventos de objetos de sesión
El objeto de sesión proporciona dos eventos que se activan al inicio y al final, como se muestra en la Tabla 3-9:
Tabla 3-9 Eventos y descripciones de objetos de sesión
| evento | ilustrar |
| En marcha | Activado cuando se inicia la sesión de usuario de ASP, antes de que se ejecute la página web solicitada por el usuario. Se utiliza para inicializar variables, crear objetos o ejecutar otro código. |
| Aparecer | Activado cuando finaliza la sesión de usuario de ASP. A partir de la última solicitud de página del usuario a la aplicación, el evento se activa si se ha excedido el período de tiempo de espera de sesión predeterminado. Cuando termine la sesión, cancele todas las variables en esa sesión. Este evento también se activa cuando se usa el método de abandono para finalizar una sesión de usuario de ASP en el código |
Eventos utilizando la aplicación y la sesión
Los objetos de aplicación y sesión de ASP reflejan los eventos de características que otros objetos incorporados de ASP no tienen. Sin embargo, como se ve en la tabla de miembros del objeto anterior, estos son eventos relacionados con la sesión ASP y el trabajo de la aplicación.
1. Manitadores de eventos para la aplicación y la sesión
Cada vez que comienza o finaliza una aplicación o sesión, el ASP desencadena un evento. Estos eventos se pueden detectar y responder escribiendo un código de secuencia de comandos ordinario en un archivo especial, llamado Global.asa, ubicado en el directorio raíz de una aplicación (para el sitio web predeterminado es /inetpub /wwwroot directorio, o como una carpeta definida como una aplicación real). Este archivo puede contener uno o más elementos <s objeto> de HTML que se utilizan para crear instancias de componentes que se utilizarán dentro de la aplicación o sesión de usuario.
El siguiente código es un ejemplo del archivo global.asa. Solo nos centramos en el elemento <S Object> y en aquellas líneas de código que comienzan con la palabra clave SET:
| <!- Declarar instancia del componente Aspcounter con alcance a nivel de aplicación //-> < ID de objeto = Aspcounter runat = Server Scope = Aplicación Progid = mswc.counters > </objeto > <!- Declare instancia del componente AspContentLimk con alcance a nivel de sesión //-> < Objeto ID = ASPContentLink Runat = Server Scope = Session Progid = mswc.nextlink> </objeto > < Language de script = VBScript runat = servidor > Sub Application_onStart () 'Cree una instancia de un conjunto de registros ADO con alcance a nivel de aplicación Establecer aplicación (AdoConnection) = Server.CreateObject (ADODB.Connection) Dim VarArray (3) 'Crear una matriz de variantes y llénelo Vararray (0) = esto es un Vararray (1) = matriz de variantes Vararray (2) = almacenado en el Vararray (3) = objeto de aplicación Aplicación (variant_array) = vararray'store it en la aplicación Aplicación (start_time) = cstr (ahora) 'Almacene la fecha/hora como una cadena Aplicación (visit_count) = 0 'Establecer la variable de contador a cero Final Sub Application_onend () Establecer la aplicación (AdoConnection) = nada Final Sub sesson_onstart () 'Cree una instancia del componente del Adrotador con alcance a nivel de sesión SET SESSION (ASPADROTATOR) = Server.CreateObject (MSWC.Adrotator) Dim vararray (3) 'crea una variante arry y llénela Vararray (0) = esto es un Vararray (1) = matriz de variantes Vararray (2) = almacenado en el Vararray (3) = objeto de sesión Sesión (variant_array) = vararray 'almacéntelo en la sesión Session (start_time) = cstr (ahora) 'Almacene la fecha/hora como una cadena 'Podemos acceder al contenido de la solicitud y la respuesta en una sesión_onstart 'Plazador de eventos para la página que inició la sesión. 'Coloque que el contexto de la página ASP esté disponible como este. 'Como ejemplo, podemos obtener la dirección IP del usuario: Sesión (your_ip_address) = request.ServerVariAbles (remota_addr) Application.lock intvisits = aplicación (visit_count) +1 Aplicación (visit_count) = intvisits Aplicación Final Subsession_onend () Establecer sesión (Aspadrotator) = nada Final </script > |
Debido a que este archivo global.asa se usa en la página de ejemplo de este capítulo, será necesario colocar el archivo en el directorio raíz del sitio web, o en un directorio configurado como una aplicación virtual, e incluir el directorio otros archivos de muestra .
Leer y almacenar valores
Tenga en cuenta el ejemplo anterior sobre cómo leer las variables de aplicación y sesión, de la misma manera que toma una colección de objetos de solicitud y respuesta. Establezca los valores de estas variables:
| Aplicación (variable_name) = variable_value Aplicación (variable_name) = variable_array_variable_name Establecer aplicación (variable_name) = object_reference |
Obtenga los valores de estas variables:
| variable_value = aplicación (variable_name) variant_array_variable = aplicación (variable_name) Establecer Object_Reference = Application (Variable_Name) |
Por supuesto, se puede adoptar el mismo enfoque para los objetos de sesión.
Puede ver cómo bloquear y desbloquear el objeto de aplicación cuando se accede desde un procesador de evento de sesión; Esto no es necesario al acceder a los valores en los objetos de aplicación utilizando el código dentro de los eventos de aplicación. Esto se debe a que en cualquier aplicación solo hay una instancia del objeto de aplicación, y el código de su controlador de eventos solo se realiza cuando no hay una sesión de usuario activa.
También puede ver cómo se implementa un contador de sesión de usuario básico. Aquí hay una variable de nivel de aplicación visit_count, que se incrementa automáticamente cuando comienza una nueva sesión. En general, no está restringido para simplemente guardar valores en los objetos de aplicación o sesión. Por ejemplo, el sitio web del desarrollador web tiene un archivo global.ASA correspondiente en http://webdev.wrox.co.uk. se obtienen de la recolección de solicitud. SERVERVARIBLES. Esto proporciona un método básico para contar el número de visitantes y recopilar información básica sobre los visitantes.