Session
Session : 4D.Session
| Parámetros | Tipo | Descripción | |
|---|---|---|---|
| Resultado | 4D.Session | ← | Objeto Session |
Historia
| Lanzamiento | Modificaciones |
|---|---|
| 20 R8 | Soporte de sesiones autónomas |
| 20 R5 | Soporte de cliente remoto y sesiones de procedimientos almacenados |
| 18 R6 | Añ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:
- una sesión web (cuando las sesiones escalables están activadas),
- una sesión usuario remota (en el servidor),
- una sesión de procedimientos almacenados,
- una sesión autónoma.
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 ConnectionyOn 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 AuthenticationyOn Mobile App Actionpara 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 ConnectionyOn Server Shutdown Connectionde 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 ShutdownyOn 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,
Sessionsiempre 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,
Sessionsiempre 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,
Sessionsiempre 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 comando | 1714 |
| Hilo seguro | sí |