Saltar al contenido principal
Versión: 21 R4 BETA

Session

Session : 4D.Session

ParámetrosTipoDescripción
Resultado4D.Session←Objeto 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 segurosí