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

The Session command returns the Session object corresponding to the current session.

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 de cliente remoto (en el servidor),
  • una sesión de procedimientos almacenados,
  • a standalone session.

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 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 cliente remoto

El objeto Session de las sesiones cliente 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.

For more information on remote user sessions, please refer to the Remote user sessions paragraph.

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

For more information on stored procedures virtual user session, please refer to the Stored procedure sessions paragraph.

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.

For more information on standalone sessions, please refer to the Standalone sessions paragraph.

Session y componentes

When Session is called from the code of different components loaded in the project, the command returns an object depending on the calling request and the context:

  • in case of a web request, Session always returns the session attached to the target web server of the request (and not a session of the component's web server),
  • in case of a remote request executed on the server, Session always returns the session attached to the remote user,
  • in case of a stored procedure session or a standalone session, Session always returns the single current session (the same object is used during all the work session).

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
  //action_Session method
Case of
:(Session#Null)
If(Session.hasPrivilege("CreateInvoices")) //calling the hasPrivilege function
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
Scalable sessions for advanced web applications (blog post)

Propiedades

Número de comando1714
Hilo seguro