4D v16

Gestión de sesiones 4D Mobile

Inicio

 
4D v16
Gestión de sesiones 4D Mobile

Gestión de sesiones 4D Mobile    


 

A partir de 4D v15 R4, es posible acceder por programación al ID de una sesión 4D Mobile en 4D Server. Esta funcionalidad permite a los desarrolladores obtener o definir la información relacionada con la sesión localmente (ver el ejemplo siguiente).

Las sesiones 4D Mobile pueden ser manejadas utilizando comandos estándar de sesión Web de 4D. Varios comandos web 4D, así como también el comando WEB Get session process count y el Método base On Web Close Process soportan sesiones 4D Mobile.

Las sesiones 4D Mobile y las sesiones Web son dos tipos diferentes de sesiones. Aunque comparten algunos conceptos (y comandos), no tienen las mismas propiedades. Una diferencia significativa es la relación entre una sesión, un proceso y el contexto del proceso:

  • Una sesión Web está relacionada con un sólo proceso web; gracias a la funcionalidad de Gestión automática de sesiones, el contexto del proceso (instancias de variables, selecciones, etc.) de la sesión puede ser reutilizado.
  • Una sesión 4D Mobile puede estar asociada a varios procesos Web; cada contexto de proceso se reiniciliaza automáticamente al final de la ejecución del método del proceso.

Como resultado, el intercambio de información relacionada con la sesión entre procesos Web 4D Mobile requiere de implementaciones específicas sobre 4D Server.

Los siguientes comandos de gestión de sesiones Web existentes soportan sesiones 4D Mobile.

El comando WEB CLOSE SESSION cierra la sesión 4D Mobile cuya identificación se pasa en sessionID. Como una sesión 4D Mobile puede manejar varios procesos, este comando solicita a todos los procesos Web relacionados terminar su ejecución.

El comando WEB Get Current Session ID ahora devuelve el UUID  asociado con la sesión actual de 4D Mobile.

El comando WEB GET SESSION EXPIRATION  devuelve la información de caducidad de la cookie de una sesión 4D Mobile.

La misma cookie se utiliza para todos los procesos vinculados a una sesión 4D Mobile.

El comando WEB Get session process count le permite averiguar el número de procesos existentes relacionados con una sesión determinada.

  • Para las sesiones Web regulares, el comando devuelve siempre 1 (una sesión Web = un proceso),
  • Para las sesiones 4D Mobile, el comando devuelve todos los procesos web relacionados. El comando es útil en este contexto, por ejemplo, para ejecutar un bucle en todos los procesos de una sesión 4D Mobile.

El Método base On Web Close Process es llamado por 4D cada vez que un proceso web está a punto de terminar su ejecución. Soporta totalmente los procesos de las sesiones 4D Mobile: en este contexto, se llama para cada proceso Web cerrado, lo que permite guardar todos los datos (variables, selección, etc.) generados por el proceso de sesión 4D Mobile.

Nota: para las sesiones web regulares, el método base Método base On Web Close Process se llama cada vez que la sesión Web, es decir, un proceso único de sesión Web, se cierra.

Ejemplo  

Si desea compartir o reutilizar la información entre varios procesos de una sola sesión 4D Mobile, puede utilizar el UUID de la sesión 4D Mobile para identificar los datos relacionados con la sesión. Por ejemplo, después de una búsqueda de registros, usted desea mantener una selección temporal en 4D Server para que cualquier solicitud REST posterior en la misma sesión pueda acceder directamente a esta selección directa. Puede escribir, después de la instrucción de consulta:

  //crear una selección interprocesos incluyendo el UUID de sesión
 COPY NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)
 
  //Más adelante, puede volver a utilizar esta selección desde la misma sesión
 USE NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)

 
 



Ver también 


 
PROPIEDADES 

Producto: 4D
Tema: Gestión de sesiones 4D Mobile

 
HISTORIA 

Creado por: 4D v15 R4

 
ARTICLE USAGE

4D Mobile ( 4D v16)