4D v16

Gestion des sessions 4D Mobile

Accueil

 
4D v16
Gestion des sessions 4D Mobile

Gestion des sessions 4D Mobile    


 

A compter de 4D v15 R4, il est possible d'accéder par programmation à l'ID d'une session 4D Mobile sur 4D Server. Cette fonctionnalité permet aux développeurs de lire ou d'écrire localement des informations liées aux sessions (cf. exemple ci-dessous).

Les sessions 4D Mobile sont gérées à l'aide des commandes standard de session Web de 4D. Plusieurs commandes Web 4D, la commande WEB Get session process count ainsi que la On Web Close Process database method prennent directement en charge les sessions 4D Mobile.

Les sessions 4D Mobile et les sessions Web sont deux sortes de sessions différentes. Bien qu'elles partagent certains concepts (et commandes),elles n'ont pas les mêmes propriétés. La principale différence a trait à la relation entre une session, un process et le contexte du process :

  • Une session Web est liée à un seul process Web ; grâce à la fonctionnalité de Gestion automatique des sessions, le contexte du process (instances de variables, sélections...) de la session peut être réutilisé
  • Une session 4D Mobile peut être liée à plusieurs process Web ; chaque contexte de process est automatiquement réinitialisé à l'issue de l'exécution de la méthode du process

Par conséquent, le partage d'informations liées à la session entre les process Web 4D Mobile requiert des implémentations spécifiques sur 4D Server.

Les commandes suivantes de gestion des sessions Web prennent en charge les sessions 4D Mobile.

La commande WEB CLOSE SESSION referme la session 4D Mobile dont l'ID a été passé dans idSession. Comme une session 4D Mobile peut gérer plusieurs process, cette commande demande en fait à tous les process Web liés à la session de terminer leur exécution.

La commande WEB Get Current Session ID retourne l'UUID associé à la session 4D Mobile courante.

La commande WEB GET SESSION EXPIRATION retourne les informations relatives à l'expiration du cookie d'une session 4D Mobile.

Le même cookie est utilisé pour tous les process d'une session 4D Mobile.

La commande WEB Get session process count vous permet de connaître le nombre de process existants liés à une session donnée.

  • Pour une session Web "classique", la commande retourne toujours 1 (une session Web = un process),
  • Pour une session 4D Mobile, la commande retourne tous les process Web qui lui sont rattachés. Cette commande est utile dans ce contexte par exemple pour exécuter une boucle parmi tous les process d'une session 4D Mobile.

La On Web Close Process database method est appelée par 4D à chaque fois qu'un process Web est sur le point de terminer son exécution. Elle prend pleinement en charge les process des sessions 4D Mobile : dans ce contexte, elle est appelée pour chaque process Web refermé, vous permettant de sauvegarder tout type de donnée (variable, sélection, etc.) générée par le process de session 4D Mobile.

Note : Pour les sessions Web "classiques", la On Web Close Process database method est appelée à chaque fois qu'une session Web, c'est-à-dire qu'un process unique de session Web, est refermé.

Exemple  

Si vous souhaitez partager ou réutiliser des informations entre plusieurs process d'une même session 4D Mobile, vous pouvez utiliser l'UUID de la session 4D Mobile pour identifier les données relatives à cette session. Par exemple, après avoir effectué une recherche parmi des enregistrements, vous souhaitez conserver une sélection temporaire sur 4D Server afin qu'une requête REST ultérieure dans la même session puisse accéder directement à cette sélection. Vous pouvez écrire : 

  //créer une sélection interprocess dont le nom contient l'UUID de session
 COPY NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)
 
  //plus tard, vous pouvez réutiliser cette sélection depuis la même session
 USE NAMED SELECTION([Emp];"<>EmpSel"+WEB Get Current Session ID)

 
 



Voir aussi  


 
PROPRIÉTÉS 

Produit : 4D
Thème : Gestion des sessions 4D Mobile

 
HISTORIQUE 

Créé : 4D v15 R4

 
UTILISATION DE L'ARTICLE

4D Mobile ( 4D v16)