Stockage Client VariablesVous mai souvenir que les variables de session sont stockés dans la mémoire, tandis que les variables des clients sont stockées dans une structure de disque. La structure interne des variables de session dans la mémoire est sans importance, mais les options pour le stockage de variables client méritent une discussion. Par défaut, les magasins ColdFusion Client variables dans le Registre Windows. Comme vous pouvez le voir, toutes les variables du client affecté à une session donnée sont stockées sous une clé qui prend son nom de la FCMI et CFTOKEN d'une session donnée. Le problème est que le Registre de Windows n'a jamais été conçu comme une haute vitesse de données de stockage et de système de récupération, et un grand nombre des accès consécutifs peuvent affecter les performances d'un serveur. Une meilleure option consiste à stocker les variables du client sur un serveur de base de données. Ce chiffre est légèrement plus compliqué que le stockage des données dans le Registre. Vous devez d'abord créer la base de données comme celle qui ColdFusion Client peut utiliser pour le stockage variable. Pour ce faire, suivez ces étapes:
1. Dans ColdFusion Administrator, mis en place une source de données ColdFusion dans lequel stocker les variables des clients. (Il faut un serveur de base de données réelle, telles que Microsoft SQL Server ou Oracle et non un produit à base de fichiers tels que Microsoft Access.) 2. Aller à variables client de ColdFusion Administrator, choisissez la source de données que vous venez de créer, puis cliquez sur Ajouter. 3. Donnez la source de données une description significative, laissez toutes les cases à cocher dans leurs positions par défaut, et cliquez sur Envoyer. Modifiez les paramètres de la boîte d'enregistrement, seulement si vous êtes absolument sûr que vous avez besoin. Après avoir suivi ces étapes, votre base de données contient maintenant deux nouveaux articles: CDATA et CGLOBAL. CDATA contient les données du client variable, et CGLOBAL contient des informations globales pour chaque session, comme le nombre d'accès et l'heure de la dernière visite. Pour commencer à utiliser la base de données variables Client, vous pouvez effectuer l'une des deux choses suivantes: Définissez la source de données que le client par défaut l'option de stockage variable dans ColdFusion Administrator. Ceci est une bonne idée, car aucun de votre code doit changer pour le soutenir. Ce n'est pas une bonne idée, cependant, si vous exécutez plusieurs sites Web avec des bases de données multiples Clientvariable, parce que tu mai, par inadvertance, stocker les variables à la mauvaise place. Utilisez la balise CFAPPLICATION comme suit: Ceci est une meilleure option en général, comme cela vous donne un contrôle plus granulaire sur lequel votre variables client sont stockés. ... Pourquoi utilisons-nous UCase ()? Malheureusement, le paramètre JSESSIONID cela fait partie de Session.URLToken est inclus en tant que paramètre minuscules; J2EE, exige cependant que JSESSIONID figurer en majuscules. Si vous n'incluez pas l'appel à UCase (), l'Etat n'est pas maintenue entre les demandes. Un détail important de ColdFusion développement qui est malheureusement souvent négligé est le cadre d'application, qui se résume à deux volets: l'utilisation efficace des Application.cfm, OnRequestEnd.cfm, et la balise CFAPPLICATION. Un fichier qui existent dans presque toutes les applications ColdFusion est Application.cfm. ColdFusion exécute ce fichier avant chaque demande de page, rendant Application.cfm un excellent endroit pour définir des variables que chaque demande de page peut utiliser, comme le nom de votre source de données, le nom d'utilisateur et mot de passe de base de données, et d'autres constantes globales. En outre, ColdFusion exécutent aussi d'un modèle nommé OnRequestEnd.cfm après chaque demande de page, rendant OnRequestEnd.cfm un endroit idéal pour placer le code pied de page pour votre site. Lorsque vous demandez un modèle de ColdFusion, le ColdFusion première chose ne fait que chercher des applications. CFM dans le répertoire qui contient le modèle que vous avez demandé. Si ColdFusion trouve Application.cfm, la recherche s'arrête et ColdFusion exécute Application.cfm. S'il n'y a pas une Application.cfm dans le répertoire courant, ColdFusion recherche dans chaque répertoire dans le modèle demandé son chemin jusqu'au ColdFusion trouve un fichier nommé Application.cfm. Par exemple, si vous avez demandé c: \ Inetpub \ wwwroot \ mydirectory \ mytemplate.cfm , ColdFusion Application.cfm irait chercher dans les répertoires suivants dans cet ordre: C: \ Inetpub \ wwwroot \ mydirectory \ c: \ Inetpub \ wwwroot \ c: \ Inetpub \ c: \ Si ColdFusion ne trouvez pas de Application.cfm n'importe où dans le modèle de demande de la hiérarchie des répertoires, ColdFusion exécute tout simplement le modèle demandé. Lorsque la demande de modèle se termine, ColdFusion regarde dans le même répertoire où il a trouvé Application.cfm un fichier nommé OnRequestEnd.cfm . Si ColdFusion OnRequestEnd.cfm ne trouve pas dans le même lieu que Application.cfm, ColdFusion se termine simplement la demande. OnRequestEnd.cfm ne suit pas le même répertoire que le processus de traversée Application.cfm fait. Le problème est de savoir où mettre Application.cfm et OnRequestEnd.cfm. Certaines applications de mettre un Application.cfm dans chaque répertoire unique dans la demande, tandis que d'autres ne comprennent pas Application.cfm du tout. La meilleure pratique se situe quelque part entre ces deux extrêmes, je ne possèdent généralement qu'un Application.cfm à la racine de la structure de répertoire pour mon application entière. Je vais cependant, ajouter un Application.cfm partout où c'est absolument nécessaire, mais je suis bien soin d'ajouter un Application.cfm que lorsque j'ai une raison impérieuse de le faire. CFAPPLICATION est la pierre angulaire du cadre d'application ColdFusion. Sans CFAPPLICATION, vous ne seriez pas en mesure de fixer la clientèle, Session ou Application variables, et vous ne seriez pas en mesure de maintenir l'Etat parce que CFAPPLICATION est le mécanisme de ColdFusion pour la manutention et CFTOKEN CFID. Les aspects de gestion d'état de CFAPPLICATION ont été mentionnés plus tôt, mais un attribut du CFAPPLICATION qui est malheureusement souvent négligé est l'attribut name: L'attribut name de partitions CFAPPLICATION Application, Session, et les variables de la clientèle dans les espaces de demande distincte. Si vous appelez CFAPPLICATION avec un nom de MyApp en une seule requête et un nom de YourApp dans une autre demande, ni la demande se partageront l'autre application, Session, ou des variables à la clientèle parce que les deux demandes sont dans des espaces d'application différents. Le fait est que toutes les Tags CFAPPLICATION dans toute votre application doit toujours référence au nom de la même application. Certains développeurs tentent de scinder la demande en différentes parties, mais ne le font pas. Découpage d'une seule demande dans les espaces d'applications multiples ratés à chaque fois parce que le développeur aura invariablement oublier que les modèles dans un espace d'application l'utilisation des variables de session différente de celle des modèles dans un autre espace d'application. Restez simple et utiliser un seul nom de l'application pour chaque demande dans votre application. un article présenté par Lucas Arnelas Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite. Important: Cet article «Stockage des variables client" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.
|
|||||
| Online: 259 users browsing the articles directory |
|
|