PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Présentation
  • Comment le faire ?
  • Pour mettre en place la gestion des contextes AWP par cookies :
  • Pour mettre en place la gestion des contextes AWP sur disque :
  • Fonctions WLangage de gestion des contextes AWP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Pour conserver la valeur de variables globales lors du passage d'une page à l'autre, le mode AWP propose une gestion des contextes.
Deux modes de gestion des contextes sont disponibles :
  • Gestion des contextes à l'aide de cookies : la valeur des différentes variables est mémorisée sur le navigateur de l'utilisateur à l'aide d'un cookie. Ce mode de gestion a plusieurs inconvénients :
    • le navigateur de l'internaute doit gérer les cookies
    • la taille des cookies est limitée à 4 Ko
    • la sécurité des informations mémorisées dans le cookie n'est pas garantie.
  • Gestion des contextes sur disque : la valeur des différentes variables est mémorisée sur le serveur dans un fichier. Un identifiant de contexte permet de récupérer le contexte mémorisé lors du retour du navigateur. Cet identifiant peut être soit mémorisé par cookie sur le poste de l'internaute, soit transmis sur l'URL. Cet identifiant garantit la sécurité des données mémorisées.
Versions 17 et supérieures
Remarque : Si plusieurs contextes AWP sont présents sur le même domaine, ces contextes sont totalement indépendants. L'identifiant du contexte AWP est unique par domaine et par site.
Nouveauté 17
Remarque : Si plusieurs contextes AWP sont présents sur le même domaine, ces contextes sont totalement indépendants. L'identifiant du contexte AWP est unique par domaine et par site.
Remarque : Si plusieurs contextes AWP sont présents sur le même domaine, ces contextes sont totalement indépendants. L'identifiant du contexte AWP est unique par domaine et par site.
Comment le faire ?

Pour mettre en place la gestion des contextes AWP par cookies :

  1. Utilisez la fonction ConfigureContexteAWP pour spécifier le mode de gestion du contexte AWP. Il est conseillé d'utiliser cette fonction dans le traitement d'initialisation du projet. En effet, il est impossible de modifier le mode choisit lorsque la session a été commencée.
    Pour utiliser la gestion des contextes par cookies, la ligne de code suivante peut être utilisée :
    ConfigureContexteAWP(ctxCookie)
  2. Utilisez la fonction DéclareContexteAWP pour mémoriser / récupérer la valeur des variables voulues. Il est conseillé d'utiliser cette fonction dans le code d'initialisation du projet (pour les variables du projet) et / ou dans le code d'initialisation des pages (pour les variables des pages). En règle générale, il faut utiliser cette fonction dans le traitement où sont déclarées et initialisées les variables.
Remarques : Dans ce mode de fonctionnement :
  • La fonction DéclareContexteAWP utilise les cookies HTTP. Si le navigateur utilisé sur le poste en cours ignore les cookies HTTP, les valeurs des variables ne sont pas restaurées.
  • La taille totale des valeurs des différentes variables est limitée à environ 4ko. Si la taille de ces valeurs est trop importante, ces valeurs seront tronquées (variables manquante et/ou contenu tronqué).
  • La fonction DéclareContexteAWP n'est pas recommandée pour les données sensibles (mot de passe de l'utilisateur par exemple). En effet, les données transitent par le navigateur. Il ne faut donc PAS utiliser cette fonction pour mémoriser la connexion d'un utilisateur par exemple.
  • Si deux variables sauvées ont le même nom (par exemple une dans le projet et l'autre dans une page) seule la première variable est mémorisée.
  • La fonction DéclareContexteAWP renvoie Faux si une des variables n'a pas été restaurée.
  • Seules les variables passées à la fonction DéclareContexteAWP lors d'un affichage de page pourront être récupérées lors de l'affichage suivant. Les variables passées précédemment ne sont pas automatiquement sauvegardées une nouvelle fois.
  • Seules les variables de type simple (entier, chaîne, ...) sont gérées.
  • Un champ Upload multi-fichiers ne peut pas être utilisé avec des contextes AWP de type cookie.

Pour mettre en place la gestion des contextes AWP sur disque :

  1. Utilisez la fonction ConfigureContexteAWP pour spécifier le mode de gestion du contexte AWP. Il est conseillé d'utiliser cette fonction dans le traitement d'initialisation du projet. En effet, il est impossible de modifier le mode choisi lorsque la session a été commencée.
    Pour utiliser la gestion des contextes sur disque, la ligne de code suivante peut être utilisée :
    ConfigureContexteAWP(ctxDisque)

    Remarque : La fonction ConfigureContexteAWP permet également de définir le mode de transmission de l'identifiant du contexte. Cet identifiant peut être transmis :
    • Par URL et cookie au premier lancement, puis dans le meilleur mode possible (par cookie si le navigateur accepte les cookies). C'est le mode utilisé par défaut.
    • Par cookie uniquement. Dans ce cas, le navigateur de l'internaute doit avoir la gestion des cookies activée sur son poste.
    • Par URL uniquement. Dans ce cas, l'identifiant apparaîtra toujours dans l'URL des pages.
  2. Utilisez la fonction DéclareContexteAWP pour mémoriser les variables voulues. Il est conseillé d'utiliser cette fonction dans le code d'initialisation du projet (pour les variables du projet) et / ou dans le code d'initialisation des pages (pour les variables des pages). En règle générale, il faut utiliser cette fonction dans le traitement où sont déclarées et initialisées les variables.
    Remarques : Dans ce mode de fonctionnement :
    • La fonction DéclareContexteAWP utilise les contextes sur disque. Les valeurs des variables sont toujours restaurées.
    • La taille totale des valeurs des différentes variables n'est pas limitée.
    • La fonction DéclareContexteAWP peut être utilisée pour les données sensibles (mot de passe de l'utilisateur par exemple).
    • Si deux variables sauvées ont le même nom (par exemple une dans le projet et l'autre dans une page), les deux variables sont mémorisées indépendamment.
    • La fonction DéclareContexteAWP renvoie Faux si une des variables n'a pas été restaurée.
    • Toutes les variables passées à la fonction DéclareContexteAWP lors d'un affichage de page pourront être récupérées lors de l'affichage suivant. Les variables passées précédemment sont automatiquement sauvegardées une nouvelle fois.
    • Les variables de type simple (entier, chaîne, ...) sont gérées ainsi que les variables de type structure, classe, tableau ou tableau associatif. Ne sont pas gérés les tableaux fixes, les tableaux associatifs de structures locales, les membres globaux des classes.
    • Les champs Upload multi-fichiers peuvent être utilisés uniquement avec des contextes AWP sur disque.
  3. Pour supprimer une variable spécifique du contexte, il est possible d'utiliser la fonction AnnuleContexteAWP.
  4. La fonction IdentifiantContexteAWP permet de connaître l'identifiant de contexte d'une page AWP.
Remarque : L'administrateur WEBDEV donne la possibilité de configurer la durée de validité des contextes AWP (option "Durée des contextes AWP" dans l'onglet "Configuration"). Dès que la durée indiquée est écoulée, et si aucune nouvelle requête a été effectuée, le fichier de contexte est supprimé.
Versions 18 et supérieures
Libération de contexte sur disque
Le Serveur d'Application WEBDEV protège automatiquement chaque contexte AWP des accès concurrents :
  • A tout moment, un unique appel AWP est autorisé à manipuler un contexte AWP donné.
  • Les autres appels AWP qui demandent à manipuler ce contexte (c'est-à-dire d'autres appels du même client/navigateur) attendent que le premier appel soit fini :
    • Chaque appel a bien accès aux dernières valeurs.
    • Le comportement global est équivalent au comportement des sessions WEBDEV classiques.
  • Le contexte AWP est automatiquement libéré (pour l'appel suivant) après l’exécution du dernier traitement WLangage.
Dans certains cas, ce comportement n'est pas optimal.
Par exemple, une page AWP de téléchargement de fichier continuera à maintenir le blocage sur le contexte pendant toute la durée d'exécution de la fonction FichierAffiche. Ce blocage bloque les autres appels du client vers l'application (par exemple le téléchargement, en parallèle, d'un second fichier).
Dans ce cas, la fonction LibèreContexteAWP permet d'indiquer que le contexte AWP ne sera plus utilisé et permet de le libérer.
Nouveauté 18
Libération de contexte sur disque
Le Serveur d'Application WEBDEV protège automatiquement chaque contexte AWP des accès concurrents :
  • A tout moment, un unique appel AWP est autorisé à manipuler un contexte AWP donné.
  • Les autres appels AWP qui demandent à manipuler ce contexte (c'est-à-dire d'autres appels du même client/navigateur) attendent que le premier appel soit fini :
    • Chaque appel a bien accès aux dernières valeurs.
    • Le comportement global est équivalent au comportement des sessions WEBDEV classiques.
  • Le contexte AWP est automatiquement libéré (pour l'appel suivant) après l’exécution du dernier traitement WLangage.
Dans certains cas, ce comportement n'est pas optimal.
Par exemple, une page AWP de téléchargement de fichier continuera à maintenir le blocage sur le contexte pendant toute la durée d'exécution de la fonction FichierAffiche. Ce blocage bloque les autres appels du client vers l'application (par exemple le téléchargement, en parallèle, d'un second fichier).
Dans ce cas, la fonction LibèreContexteAWP permet d'indiquer que le contexte AWP ne sera plus utilisé et permet de le libérer.
Libération de contexte sur disque
Le Serveur d'Application WEBDEV protège automatiquement chaque contexte AWP des accès concurrents :
  • A tout moment, un unique appel AWP est autorisé à manipuler un contexte AWP donné.
  • Les autres appels AWP qui demandent à manipuler ce contexte (c'est-à-dire d'autres appels du même client/navigateur) attendent que le premier appel soit fini :
    • Chaque appel a bien accès aux dernières valeurs.
    • Le comportement global est équivalent au comportement des sessions WEBDEV classiques.
  • Le contexte AWP est automatiquement libéré (pour l'appel suivant) après l’exécution du dernier traitement WLangage.
Dans certains cas, ce comportement n'est pas optimal.
Par exemple, une page AWP de téléchargement de fichier continuera à maintenir le blocage sur le contexte pendant toute la durée d'exécution de la fonction FichierAffiche. Ce blocage bloque les autres appels du client vers l'application (par exemple le téléchargement, en parallèle, d'un second fichier).
Dans ce cas, la fonction LibèreContexteAWP permet d'indiquer que le contexte AWP ne sera plus utilisé et permet de le libérer.
Fonctions WLangage de gestion des contextes AWP
Les fonctions WLangage permettant de gérer les contextes AWP sont les suivantes :
Versions 12 et supérieures
AnnuleContexteAWP
Nouveauté 12
AnnuleContexteAWP
AnnuleContexteAWP
Supprime du contexte AWP une variable ajoutée par la fonction DéclareContexteAWP.
Versions 12 et supérieures
ConfigureContexteAWP
ConfigureContexteAWP
Configure le mode de fonctionnement du contexte AWP.
Versions 10 et supérieures
DéclareContexteAWP
Nouveauté 10
DéclareContexteAWP
DéclareContexteAWP
Permet de déclarer une liste de variables dont la valeur sera persistante entre les affichages successifs des pages AWP.
Versions 12 et supérieures
IdentifiantContexteAWP
IdentifiantContexteAWP
Renvoie l'identifiant du contexte AWP.
Versions 18 et supérieures
LibèreContexteAWP
Nouveauté 18
LibèreContexteAWP
LibèreContexteAWP
Libère de manière anticipée le contexte AWP (sur disque) pour permettre à d'autres appels sur le même contexte AWP d'être traités en parallèle.
Version minimum requise
  • Version 12
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire