Cómo utilizar las variables Session y Application en un programa ASP

Seleccione idioma Seleccione idioma
Id. de artículo: 300883 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este procedimiento paso a paso explica cómo establecer y recuperar información de los objetos Session y Application en una aplicación de páginas Active Server (ASP).

Introducción a las variables Session y Application

Puede utilizar los objetos Application y Session para almacenar valores globales en lugar de específicos de la página para un usuario particular (el objeto Session) o para todos los usuarios (el objeto Application).

Las variables Session y Application se almacenan en el servidor. Los exploradores de cliente se adjuntan a la sesión mediante una cookie. Como resultado, el cliente debe tener las cookies habilitadas en el navegador para que funcionen las variables Session y Application.

Los siguientes ejemplos muestran cómo utilizar Visual InterDev para crear variables Session y Application.

Crear un proyecto web de Visual InterDev

  1. Cree un nuevo proyecto web en Visual InterDev. Para obtener más información al respecto, consulte el artículo siguiente en Microsoft Knowledge Base:
    301184 Cómo crear un proyecto de Visual InterDev
  2. Desde el menú Proyecto, seleccione Agregar elemento web y, a continuación, haga clic en Página Active Server.
  3. Haga clic en Abrir para aceptar la información predeterminada de la nueva página ASP.
Ahora que ha agregado una página ASP al proyecto actual, los ejemplos de código ASP de las dos secciones siguientes muestran el uso de las variables Session y Application.

Cómo utilizar las variables Session

La potencia del objeto Session procede del hecho de que puede almacenar variables globales en solo un usuario específico; como resultado de ello, cada usuario puede tener su propio valor individual de dicha variable. Los objetos Session no siempre se crean automáticamente para cada usuario cuando entran en su aplicación. Sin embargo, el almacenamiento o acceso de una variable en el objeto Session crea el objeto Session y desencadena el evento Session_OnStart.

Para mostrar cómo se utiliza el objeto Session en una página ASP, siga estos pasos:
  1. Pegue el código siguiente entre las etiquetas <BODY> </BODY> de la página ASP que ha creado antes en Visual InterDev:
    <%
       'Store information in a Session variable.
       Session("myInformation") = "somevalue"
    
       'Display the contents of the Session variable.
       Response.Write Session("myInformation")
    %>
    					
  2. Haga clic en Ver en el explorador del menú Ver.
  3. Cuando se le pregunte si desea guardar el archivo, haga clic en Aceptar. El explorador muestra la información de la variable.

Cómo utilizar las variables Application

El objeto Application se podría definir como un contenedor global de información que está disponible para todas las páginas de la aplicación ASP. Puede almacenar las variables y las referencias de objetos en el objeto Application. El objeto Application crea una instancia cuando se solicita la primera página de la aplicación y permanece disponible hasta que el servicio web se cierre.

Para mostrar cómo se utiliza el objeto Application en una página ASP, siga estos pasos:
  1. Pegue el código siguiente entre las etiquetas <BODY> </BODY> de la página ASP que ha creado antes en Visual InterDev:
    <%
       'Store information in an Application variable.
       Application("myvalue") = "something"
    
       'Display the contents of the Application variable.
       Response.Write Application("myvalue")
    %>
    					
  2. Haga clic en Ver en el explorador del menú Ver.
  3. Cuando se le pregunte si desea guardar el archivo, haga clic en Aceptar. El explorador muestra la información de la variable.

Eventos Application_OnStart y Session_OnStart

Puede utilizar los eventos Application_OnStart y Session_OnStart para inicializar el estado. Para ello, establezca variables globales para la aplicación o para un usuario específico. Cuando el primer usuario tiene acceso a un archivo en la aplicación, se activa el evento Application_OnStart. Este evento se utiliza para inicializar cualquier variable global para toda la aplicación. Cuando el usuario inicia una sesión por primera vez, se desencadena el evento Session_OnStart. Este evento se utiliza para inicializar información específica del usuario.

Eventos Application_OnEnd y Session_OnEnd

El evento Session_OnEnd tiene lugar cuando se agota el tiempo de espera de la sesión actual. De manera predeterminada, ocurre 20 minutos después de la última solicitud de una página desde la aplicación. Para cambiar el valor de tiempo de espera predeterminado, puede establecer la propiedad Session.Timeout o editar el Registro.

Puede utilizar el evento Application_OnEnd para limpiar todos los objetos y variables globales. Sin embargo, en un problema presente, es posible que este evento no se active hasta que se detenga el servidor web. Es probable que las revisiones de ASP especifiquen que el evento Application_OnEnd se desencadene cuando ocurra el evento Session_OnEnd, es decir, cuando la última sesión finalice y no haya usuarios de la aplicación actuales.

Solución de problemas

Las variables Application y Session requieren que los clientes tengan las cookies habilitadas en su navegador web, lo que no resulta confiable entre marcos compartidos de un conjunto de marcos o entre varias instancias del navegador.

Los eventos Session y Application solo se desencadenan cuando el cliente recupera una página ASP; no se desencadenan cuando se solicita una página HTML de la aplicación. Por tanto, si cuenta con aplicaciones adicionales de servidor como los scripts de la Interfaz de programación de aplicaciones para servidores de Internet (ISAPI) o de la Interfaz de puerta de enlace común (CGI), asegúrese de que estas aplicaciones no dependen de eventos específicos que han ocurrido dentro de una página ASP. De lo contrario, el script ISAPI o CGI puede fallar (bloquearse) y hacer que el servidor web deje de responder (se cuelgue).

Este método almacena información en el servidor web. De esta forma se reduce la escalabilidad de dos maneras: las variables Session y Application utilizan recursos en el servidor y no se pueden usar en conjuntos de servidores web de carga completamente equilibrada.

Referencias

Para obtener información adicional, consulte los siguientes sitios web de Microsoft:
Evitar las capturas al utilizar los objetos Application y Session
Utilizar variables y constantes
http://windows.microsoft.com/es-es/windows-8/meet

Guía de páginas Active Server
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/iisbook/c06_active_server_pages.mspx?mfr=true

Optimización de scripting de ASP
http://windows.microsoft.com/es-es/windows-8/meet
Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
281298 PRB: Las variables Session no se conservan cuando la aplicación contiene un Global.asa vacío
230149 Cómo tener acceso a las variables Session y Application desde un componente de Visual Basic
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso para otras consideraciones

Propiedades

Id. de artículo: 300883 - Última revisión: lunes, 27 de enero de 2014 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Active Server Pages 4.0
  • Microsoft Visual InterDev 1.0 Standard Edition
  • Microsoft Visual InterDev 6.0 Standard Edition
Palabras clave: 
kbaspobj kbhowto kbhowtomaster kbsample kbscript KB300883

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com