Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    ASP 8

    [Indice]


    El objeto Session

    Cuando un usuario invoca por primera vez cualquiera de los ficheros de una aplicación, un objeto Session le es asignado automáticamente. Este objeto será utilizado por la aplicación para almacenar, compartir y recibir información del usuario. A diferencia del objeto Application, la información almacenada en Session solamente estará disponible para el usuario que lo tenga asignado. Por defecto, el objeto será destruido después de 20 minutos de inactividad, pero puede configurarse un tiempo diferente, y es buena idea reducirlo si el servidor tiene mucha carga, a fin de que libere los recursos asignados al usuario cuanto antes, pero calculando cuidadosamente el tiempo que el usuario puede necesitar para llevar a cabo sus transacciones. Si se acorta en exceso, el servidor puede cerrar la sesión antes que el usuario termine lo que esté haciendo.

    Puede ocurrir que no sea necesario establecer sesion con los usuarios, por ejemplo, si el contenido de la página es estático o no precisa enviar cookies. Para evitar que ASP abra una sesion basta con escribir en la primera línea de la página lo siguiente: <%@ EnableSessionState=False%>

    El objeto Session tiene 4 propiedades, 2 colecciones, 3 métodos y 2 eventos:


    PROPIEDADES

    Session.CodePage

    Versión 3 o superior.

    Esta propiedad especifica al servidor que página de código de caracteres debe utilizar para mostrar las páginas ASP invocadas desde el cliente. Por defecto, y si no se define otro valor para esta propiedad, el servidor utilizará la página predeterminada en el sistema. El cambio de página solamente estará activo el tiempo que dure la sesión. Esta propiedad puede ser muy útil para convertir textos escritos en una lengua diferente a la que utilizan los clientes. Por ejemplo, un texto escrito en español, con acentos (code 850), no utiliza la misma página de caracteres que un cliente de habla inglesa, que no tiene acentos (code 437).

    Veamos cómo utilizarla:

    <% '---Se guarda el código de página original
    Session("CodOriginal") = Session.CodePage
     
    '---El NuevoCod es recibido desde un formulario y Texto es el texto que se ha capturado en el mismo formulario
    Nuevocod = Request.Form("NuevoCod")
    Texto = Request.Form("Lo_que_hay_que_convertir")

    '--- Se establece el nuevo código y la función FindTranslation() se encarga de buscar la conversión adecuada
    Session.CodePage = NuevoCod
    Conversion = FindTranslation(Texto, Nuevocod)

    If Conversion <> "" Then
       Session.CodePage = Session("CodOriginal")
       Response.Write "La conversión de " & Texto & " es "
       Session.CodePage = NuevoCod
       Response.Write Conversion
    End If
    %>


    Session.LCID

    La propiedad LCID utiliza el número identificador de localización para dar en varios formatos, la fecha, hora y localizador específicos de un lugar o región. El número identificador de localización únicamente define una situación geográfica. Por ejemplo el identificador de España es el 2048, el de Francia es el 1036, etc.

    <%
    Response.Write "Este es el LCID para esta página " & Session.LCID & "<BR>"
    Response.Write "Este es el formato fecha y hora para el LCID: " & NOW() & "<BR>"
    Session.LCID = 1033
    Response.Write "Este es el LCID para esta página " & Session.LCID & "<BR>"
    Response.Write "Este es el formato fecha y hora para el LCID: " & NOW() & "<BR>"
    Session.LCID = 3079
    %>

    Y este sería el resultado:

    Este es el LCID para esta página 2048
    Este es el formato fecha y hora para el LCID: 3/9/2001 14:56:07
    Este es el LCID para esta página 1033
    Este es el formato fecha y hora para el LCID: 9/3/01 2:56:07 PM


    Session.SessionID

    Proporciona un identificador de sesión para el usuario actual. Este identificador es generado por el servidor, y consiste en un número del tipo largo (long)

    Se obtiene así:

    <% Response.Write "Tu número de sesión es: " & Session.SessionID %>

    Y este podría ser el resultado:

    Tu número de sesión es: 465107831


    Session.Timeout

    Especifica el número de minutos que tienen que pasar, mientras la sesión está inactiva, para darla por terminada, siendo el valor por defecto de 20 minutos. Esto significa que si el usuario no refreesca la página, solicita otra o hace cualquier transacción la sesión es automáticamente cerrada y los recursos que tuviese asignados, recuperados. Este tiempo también es posible establecerlo de forma fija en las configuraciones de la aplicación en el propio IIS.

    Por ejemplo, para establecer el Timeout en 35 minutos, se escribe:

    <% Session.Timeout = 35 %>


    COLECCIONES

    Session.Contents()

    Contiene (de ahí su nombre) una colección de todos los items que han sido creados y añadidos al objeto Session. Los items se pueden añadir a la lista mediante asignación directa de variables, o bien con el objeto Server y su método CreateObject.

    Puede obtenerse una lista completa mediente un bucle del tipo For Each item in ... Next. Veamos como funciona:

    <%
    Session("Variable") = "Esto no es un objeto"
    Set Session("Objeto") = Server.CreateObject("ADODB.Connection")
     
    For Each Item in Session.Contents
        If IsObject(Session.Contents(Item)) Then
          Response.Write Item & " Esto es un objeto.<BR>"
        Else
          Response.Write Item & " = " & Session.Contents(Item) & "<BR>"
        End If
    Next
    %>

    Y este sería el resultado:

    Nombre del item     Contenido
    -----------------------------------------
         Variable    =  Esto no es un objeto
         Objeto      =  Esto es un objeto.
    

    Session.StaticObjects()

    Esta es una colección de todos los items creados en el objeto Session utilizando un elemento HTML: <OBJECT>    En este caso, la asignación de valores a los items no se hace desde código ASP, sino en HTML y desde el fichero global.asa

    Al igual que en la colección anterior, puede mostrarse su contenido mediante un bucle For Each item in ... Next.

    ---fichero global.asa
    <OBJECT RUNAT=Server SCOPE=Session ID=MiConexion PROGID="ADODB.Connection">
    </OBJECT>

    ---fichero.asp
    <%
    For Each Item In Session.StaticObjects
    Response.Write Item & "<BR>"
    Next
    %>

    Y este sería el resultado:
    MiTexto
    MiConexion


    METODOS

    Session.Abandon

    Este método termina una sesión de usuario, destruye todos los objetos de la sesión y recupera los recursos asignados. Hay que tener en cuenta, que el fin de la sesión no ocurre efectivamente, hasta que no se han ejecutado todos los comandos que hay en la página actual. Cuando la sesión por fin termina, se dispara el evento del fichero global.asa OnEnd

    Se escribe:

    <%
    Session.Abandon
    %>


    Session.Contents.Remove()

    Versión 3 o superior.

    Este método se utiliza para eliminar un item específico de la colección Session.Contents. El item que se desea eliminar puede referenciarse de dos maneras: por su nombre o por su número dentro de la colección, teniendo presente que la numeración comienza en el 1. Si se referencia por su nombre, éste deberá escribirse entre comillas dobles("). Por ejemplo:

    <%
    '---Se crean dos items
    Session("Variable") = "Esto no es un objeto"
    Set Session("Objeto") = Server.CreateObject("ADODB.Connection")

    Session.Contents.Remove(1)
    Session.Contents.Remove("Variable")

    For Each Item in Session.Contents
        If IsObject(Session.Contents(Item)) Then
          Response.Write Item & " Esto es un objeto.<BR>"
        Else
          Response.Write Item & " = " & Session.Contents(Item) & "<BR>"
        End If
    Next
    %>

    Y este sería el resultado, en el que el item Session("Variable") ha sido eliminado:

    Nombre del item     Contenido
    -----------------------------------------
         Objeto      =  Esto es un objeto.
    

    Session.Contents.RemoveAll()

    Versión 3 o superior.

    Como su nombre indica, este método elimina TODOS los items de la colección Session.Contents().

    En este caso no hay que referencia ningun nombre ni número.

    <%
    Session.Contents.RemoveAll( )
    %>


    EVENTOS

    Session_OnStart     Session_OnEnd

    Estos eventos se controlan en el fichero global.asa, y debe existir uno por cada aplicación que se ejecute en el servidor, cada uno en el directorio virtual donde ésta resida. El evento Session_OnStart ocurre justo antes de que el servidor haya creado el objeto Session.

    '---Fichero global.asa
    <SCRIPT LANGUAGE=VBScript RUNAT=Server>
    Sub Session_OnStart
    End Sub

    Sub Session_OnEnd
    End Sub

    Sub Application_OnStart
    End Sub

    Sub Application_OnEnd
    End Sub

    </SCRIPT>

    Como puedes ver, contiene cuatro rutinas que sirven para detectar cuando está activa la aplicación y cuando un usuario abre o termina una sesión. El suceso (o evento, es lo mismo) Application_OnStart, sólo se disparará cuando el primer usuario solicite una página contenida en el directorio virtual de la aplicación, y a continuación se dispara Session_OnStart. Cuando otros usuarios soliciten otras páginas, o la misma, ya no se disparará el primer evento, sino sólo el Session_OnStart, que se activará tantas veces como usuarios haya conectados a la aplicación. Cuando un usuario cierra la aplicación voluntariamente, o bien transcurre un tiempo predefinido sin hacer ninguna transacción, se disparará Session_OnEnd, y cuando se haya desconectado el último usuario, lo hará Application_OnEnd.

    Dentro de las rutinas que controlan los eventos del objeto Application, Application_OnStart y Application_OnEnd puede programarse cualquier acción que convenga realizar en ese momento. Por ejemplo, asignar valores fijos para toda la aplicación, declarar el texto de algunos mensajes en función de la fecha o la hora, etc., etc... o simplemente no hacer nada.


    [Indice]


     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html