FAQ XMLRADConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 55, dernière mise à jour : 26 octobre 2006 

 
OuvrirSommaireDivers

Cette technique fourni aucun moyen à l'utilisateur revenir à la page précédente, et il obtiendra le message suivant dans son navigateur:

La page à expirée (Page has expired)

Pour forcer l'expiration immédiate sur un navigateur, le programmeur a besoin d'inclure la ligne suivante dans un des gestionnaires d'événement comme BeforeXMLService:

delphi
Sélectionnez

  XMLRequest.SetCustomHeader('Cache-control', 'no-cache');
JScript
Sélectionnez

  XMLRequest.SetCustomHeader("Cache-control", "no-cache");
C#
Sélectionnez

  XMLRequest.SetCustomHeader("Cache-control", "no-cache");
Java
Sélectionnez

  xmlRequest.setCustomHeader("Cache-control", "no-cache");

Cette ligne forcera l'ajout dans les en-têtes de réponse HTTP la ligne suivante:

 
Sélectionnez
cache-control=no-cache

Le navigateur n'essaiera pas de mettre en cache cette page.

L'utilisateur peut naviger vers une autre page, et à partir de cette nouvelle page, il ne pourra pas revenir à la page précédente contenant le Cache-Control à no-cache.

Cette technique est utile par exemple dans des asssistants qui font une mise à jour d'état intermédiaire dans la base de données.

L'utilisateur ne sera pas capable de reproduire d'erreur en revenant sur la page précédente et en revalidant le forumlaire.

Créé le 17 septembre 2004  par RDM

Il faut indiquer au navigateur qu'il ne doit pas mettre en cache le flux qu'il vient de récupérer (le TChart généré). En effet, ce TChart fait partie de plusieurs ressources http que le navigateur a du télécharger pour afficher la page web complète (Rappelons que pour chaque image par exemple, le navigateur envoie une requête http au serveur).

Pour éviter la mise en cache du TChart, il faut ajouter les lignes suivantes dans le gestionnaire BeforeXMLService du XMLService concerné :

Delphi
Sélectionnez

XMLRequest.SetExpires(0); 
XMLRequest.SetCustomHeader('Cache-control', 'no-cache'); 
JScript
Sélectionnez

XMLRequest.SetExpires(0); 
XMLRequest.SetCustomHeader("Cache-control", "no-cache"); 
C#
Sélectionnez

XMLRequest.SetExpires(0); 
XMLRequest.SetCustomHeader("Cache-control", "no-cache"); 
Java
Sélectionnez

XMLRequest.setExpires("0"); 
XMLRequest.setCustomHeader("Cache-control", "no-cache"); 
Créé le 13 octobre 2005  par Sylvain James

En fonction des cultures ou paramètres régionaux, le formattage des dates et des nombres décimaux est différents. Cela se complique avec la combinaison des systèmes d'exploitation et des serveurs de base de données, chacun pouvant gérer ses propres paramètres régionaux.

On peut donc par exemple avoir un serveur d'application sur un système d'exploitation francais, et la base de données sur une autre machine avec un système d'exploitation francais, mais le serveur est une version Anglaise. Du coup la gestion des dates et des valeurs décimales peut être problématique entre l'affichage que l'on voudrait en francais et les données qui sont stockées sous la forme anglaise.

XMLRAD permet de jongler avec ces combinaisons grace aux paramètres XMLC_Culture, XMLC_OSCulture et le fichier Cultures.xml.

Le paramètre XMLC_Culture indique quelle est la culture utilisée pour le formattage des données à l'affichage, coté page HTML. Il indique aussi sous quel format sont considérées les données saisies par l'utilisateur. Si XMLC_Culture=FR, les dates seront formatées de la manière suivante: 30/12/2005. Si l'utilisateur doit saisir une date elle devra aussi être sous cette forme pour être correctement interprétée.
Ce paramètre est pris du context et peut donc être stockées soit dans les GlobalParams, soit dans le Profile, soit dans les cookies ou soit dans les paramètres HTTP. Par défaut, sa valeur est EN.

Le paramètre XMLC_OSCulture indique quelle est la culture du système d'exploitation, c'est à dire dans quelle culture les données doivent être envoyées vers le serveur de base de données. Si XMLC_OSCulture=EN les dates sont envoyées au serveur de base de données sous de la manière suivante: 12/30/2005. Cela implique aussi que les dates sont attendues sous la même forme à l'extraction.
Ce paramètre est pris des InitParams. Par défaut il est à blanc, ce qui signifie que ce sont les paramètres régionaux du système d'exploitation qui sont pris. Si vous indiquez FR ou EN dans les InitParams il prendra le paramétrages du fichier Cultures.xml indépendamment des paramètres régionaux de la machine.
Pour vérifier quels sont les paramétrages pris, Vous pouvez exécuter l'action XMLC_FormatSettings qui vous donnera quels sont les formattages courant utilisés.

Le fichier Cultures.xml se trouvant dans le répertoire Bin du projet rassemble tous les formattages de dates et séparateurs numériques pour toutes les cultures. Voici un exemple:

 
Sélectionnez

<Cultures>
  <Culture>
    <Name>EN</Name>
    <LongDate>dddd, mmmm dd, yyyy</LongDate>
    <LongDateTime>dddd, mmmm dd, yyyy hh:nn</LongDateTime>
    <LongDateLongTime>dddd, mmmm dd, yyyy hh:nn:ss</LongDateLongTime>
    <LongTime>hh:nn:ss</LongTime>
    <ShortDate>mm/dd/yyyy</ShortDate>
    <ShortDateTime>mm/dd/yyyy hh:nn</ShortDateTime>
    <ShortDateLongTime>mm/dd/yyyy hh:nn:ss</ShortDateLongTime>
    <ShortTime>hh:nn</ShortTime>
    <DecimalSeparator>.</DecimalSeparator>
    <ThousandSeparator/>
  </Culture>
  <Culture>
    <Name>FR</Name>
    <LongDate>dddd dd mmmm yyyy</LongDate>
    <LongDateTime>dddd dd mmmm yyyy hh:nn</LongDateTime>
    <LongDateLongTime>dddd dd mmmm yyyy hh:nn:ss</LongDateLongTime>
    <LongTime>hh:nn:ss</LongTime>
    <ShortDate>dd/mm/yyyy</ShortDate>
    <ShortDateTime>dd/mm/yyyy hh:nn</ShortDateTime>
    <ShortDateLongTime>dd/mm/yyyy hh:nn:ss</ShortDateLongTime>
    <ShortTime>hh:nn</ShortTime>
    <DecimalSeparator>,</DecimalSeparator>
    <ThousandSeparator/>
  </Culture>
</Cultures>

Les valeurs des paramètres XMLC_Culture ou XMLC_OSCulture servent à sélectionner une culture dans le fichier XML en fonction de son Name (FR ou EN). Il vous est possible de rajouter autant de cultures que vous le désirez avec leurs formattages.

Si le InitParams XMLC_DetectClientCulture est à 1, le XMLC_Culture prendra la valeur du Header HTTP AcceptLanguage retournée par le navigateur client. Par exemple si votre navigateur renvoie un AcceptLanguage FR_fr, la culture sera FR.

Créé le 15 novembre 2005  par RDM
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005 Developpez. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.