Saltar al contenido principal
Versión: 21 BETA

Session

Session : 4D.Session

ParámetrosTipoDescripción
Resultado4D.SessionObjeto Session
Historia
LanzamientoModificaciones
20 R8Soporte de sesiones autónomas
20 R5Soporte de cliente remoto y sesiones de procedimientos almacenados
18 R6Añadidos

Descripción

El comando Session devuelve el objeto Session correspondiente a la sesión actual.

Dependiendo del proceso desde el que se llame al comando, la sesión actual puede ser:

Para obtener más información, consulte el párrafo Tipos de sesion.

El comando devuelve Null si:

  • se llama en un proceso web y se desactivan las sesiones escalables en el servidor web,
  • se llama en un cliente 4D remoto.

Sesiones web

El objeto Session de las sesiones web está disponible desde cualquier proceso web:

  • Métodos base On Web Authentication, On Web Connection y On REST Authentication,
  • código procesado a través de las etiquetas 4D en las páginas semidinámicas (4DTEXT, 4DHTML, 4DEVAL, 4DSCRIPT/, 4DCODE)
  • los métodos proyecto con el atributo "Available through 4D tags and URLs (4DACTION...)" y llamados a través de 4DACTION/ urls,
  • métodos base On Mobile App Authentication y On Mobile App Action para peticiones móviles,
  • Funciones ORDA llamadas con peticiones REST.

Para más información sobre las sesiones usuario web, consulte la sección Sesiones web.

Sesiones de usuarios remotos

El objeto Session de las sesiones usuario remotas está disponible desde:

  • Métodos proyecto que tienen el atributo Ejecutar en el Servidor (se ejecutan en el proceso "twinned" del proceso cliente),
  • Triggers,
  • ORDA funciones del modelo de datos (excepto las declaradas con la palabra clave local,
  • Los métodos base On Server Open Connection y On Server Shutdown Connection de la base de datos.

Para más información sobre las sesiones usuario remoto, por favor consulte el párrafo Sesiones usuario remoto.

Sesión de procedimientos almacenados

Todos los procesos de procedimientos almacenados comparten la misma sesión virtual de usuario. El objeto Session de los procedimientos almacenados está disponible desde:

  • métodos llamados con el comando Execute on server,
  • Los métodos base On Server Startup, On Server Shutdown, On Backup Startup, On Backup Shutdown y On System event

Para obtener más información sobre la sesión de usuario virtual de procedimientos almacenados, consulte el párrafo Sesiones de procedimientos almacenados.

Sesión independiente

El objeto Session está disponible desde cualquier proceso en aplicaciones independientes (monousuario) para que pueda escribir y probar su código cliente/servidor utilizando el objeto Session en su entorno de desarrollo 4D.

Para más información sobre sesiones autónomas, por favor consulte el párrafo Sesiones autónomas.

Session y componentes

Cuando se llama a Session desde el código de diferentes componentes cargados en el proyecto, el comando devuelve un objeto dependiendo de la petición de llamada y del contexto:

  • en el caso de una petición web, Session siempre devuelve la sesión adjunta al servidor web de destino de la petición (y no una sesión del servidor web del componente),
  • en el caso de una petición remota ejecutada en el servidor, Session siempre devuelve la sesión adjunta al usuario remoto,
  • en el caso de una sesión de procedimiento almacenado o de una sesión autónoma, Session siempre devuelve la única sesión actual (se utiliza el mismo objeto durante toda la sesión de trabajo).

Ejemplo

Ha definido el método action_Session con el atributo "Disponible a través de etiquetas 4D y URLs". Se llama al método introduciendo la siguiente URL en el navegador:

IP:port/4DACTION/action_Session
  //método action_Session
Case of
:(Session#Null)
If(Session.hasPrivilege("CreateInvoices")) //llamando a la función hasPrivilege
WEB SEND TEXT("4DACTION --> Session is CreateInvoices")
Else
WEB SEND TEXT("4DACTION --> Session is not CreateInvoices")
End if
Else
WEB SEND TEXT("4DACTION --> Session is null")
End case

Ver también

Session storage
Session API Desktop sessions Web server user sessions
Sesiones escalables para aplicaciones web avanzadas (entrada de blog)

Propiedades

Número de comando1714
Hilo seguro