Speichern Client Variablen

Vielleicht erinnern Sie sich, dass die Session-Variablen gespeichert werden, während die Client-Variablen in einer Struktur der Festplatte gespeichert werden. Die interne Struktur der Session-Variablen im Speicher ist unwichtig, aber die Optionen für die Speicherung von Client Variablen verdienen einige Diskussionen. Standardmäßig speichert Client ColdFusion Variablen in der Windows Registry. Wie Sie sehen, alle Client-Variablen auf eine bestimmte Session zugeordnet werden unter einem Schlüssel, der seinen Namen von der CFID und CFTOKEN einer bestimmten Sitzung dauert gespeichert. Das Problem ist, dass die Windows-Registry nie als ein High-Speed-Daten bestimmt war, Speicherung und Retrieval-System, und eine große Anzahl von aufeinander folgenden Zugriffen kann ein Server-Performance zu beeinträchtigen. Eine bessere Möglichkeit ist die Client-Variablen auf einem Datenbank-Server zu speichern. Dies ist etwas mehr als die Speicherung von Daten in der Kanzlei beteiligt. Sie müssen zunächst die Einrichtung der Datenbank ein, dass ColdFusion kann für die Client-Variablen-Speicher verwenden. Gehen Sie hierzu folgendermaßen vor:

  

1. In ColdFusion Administrator, bis eine ColdFusion-Datenquelle in die Client-Variablen speichern gesetzt. (Es sollte eine wirkliche Datenbankserver wie Microsoft SQL Server oder Oracle und nicht eine Datei-basierte Produkte wie Microsoft Access.)

2. Zur Client Variablen vom ColdFusion Administrator, wählen Sie die Datenquelle, die Sie gerade erstellt haben, und klicken Sie auf "Hinzufügen".

3. Geben Sie die Datenquelle eine aussagekräftige Beschreibung, lassen Sie alle Kontrollkästchen in ihre Standard-Positionen, und klicken Sie auf "Submit". Ändern Sie die Check-Box-Einstellungen nur, wenn Sie absolut sicher, dass Sie benötigen. Nachdem Sie diese Schritte, Ihre Datenbank enthält nun zwei neue Artikel: CDATA und CGLOBAL. CDATA enthält die Client-variablen Daten und CGLOBAL enthält globale Daten für jede Sitzung, wie die Trefferanzahl und Uhrzeit des letzten Besuchs. So starten Sie mit Hilfe des Client-Variablen-Datenbank, können Sie eine der folgenden zwei Dinge:

Legen Sie die Datenquelle als Standard-Client-Variable Storage-Option in ColdFusion Administrator. Dies ist eine gute Idee, weil keiner der Ihren Code ändern müssen, um ihn zu unterstützen. Das ist keine gute Idee, aber wenn Sie mehrere Websites mit mehreren Clientvariable Datenbanken laufen, weil Sie versehentlich Variablen speichern kann an der falschen Stelle.

Verwenden Sie die CFAPPLICATION Tag wie folgt:

Dies ist eine bessere Option im Allgemeinen, wie sie gibt Ihnen mehr granulare Kontrolle darüber, wo Ihre Kunden Variablen gespeichert werden.

...

Warum verwenden wir UCase ()? Leider ist die JSESSIONID Parameter, die Teil der Session.URLToken als Kleinbuchstaben Parameter enthalten, J2EE, verlangt jedoch, dass JSESSIONID in Großbuchstaben enthalten sein. Wenn Sie das Gespräch nicht zu enthalten, UCase (), ist die Staatsmacht nicht zwischen Anfragen erhalten. Ein wichtiges Detail der ColdFusion Entwicklung, die leider oft übersehen wird, ist die Anwendungs-Framework, das nach unten kocht in zwei Teile: effiziente Nutzung der Application.cfm, OnRequestEnd.cfm und die CFAPPLICATION Tag. Eine Datei, die in fast allen ColdFusion-Anwendung gibt, ist Application.cfm. ColdFusion führt diese Datei, bevor jede Anfrage, so dass Application.cfm ein hervorragender Ort, um Variablen, die jede Anfrage verwenden können, wie z. B. den Namen Ihrer Datenquelle gesetzt, die Datenbank-Benutzernamen und das Passwort und andere globale Konstanten. Darüber hinaus wird auch ausgeführt ColdFusion eine Vorlage namens OnRequestEnd.cfm nach jeder Seite anfordern, indem OnRequestEnd.cfm ein idealer Ort, um Fußzeile Code für Ihre Website. Wenn Sie nach einem ColdFusion-Vorlage, das erste, was tut, ist ColdFusion Application suchen. cfm in dem Verzeichnis, das die Vorlage, die Sie enthält beantragt. Wenn ColdFusion Application.cfm findet, wird die Suche beendet und ColdFusion Application.cfm führt. Wenn es nicht ein Application.cfm im aktuellen Verzeichnis sucht ColdFusion jeder Ordner in die gewünschte Vorlage der Weg bis ColdFusion eine Datei namens Application.cfm findet. Zum Beispiel, wenn Sie aufgefordert c: \ inetpub \ wwwroot \ mydirectory \ mytemplate.cfm würde für ColdFusion Application.cfm Suche in den folgenden Verzeichnissen in dieser Reihenfolge:

c: \ inetpub \ wwwroot \ mydirectory \ c: \ inetpub \ wwwroot \ c: \ inetpub \ c: \

Wenn nicht ein ColdFusion Application.cfm finden überall in der Vorlage beantragt der Verzeichnis-Hierarchie, führt ColdFusion einfach die gewünschte Vorlage. Wenn das gewünschte Vorlage endet, sieht ColdFusion im gleichen Verzeichnis, wo es Application.cfm für eine Datei namens OnRequestEnd.cfm . Wenn ColdFusion nicht OnRequestEnd.cfm finden Sie in der gleichen Stelle wie Application.cfm, ColdFusion endet einfach den Antrag ab. OnRequestEnd.cfm folgt nicht den gleichen Directory-Traversal-Prozess, der Application.cfm tut. Das Problem ist, zu wissen, wohin zu setzen und Application.cfm OnRequestEnd.cfm. Einige Anwendungen setzen ein Application.cfm in jedem Verzeichnis, in der Anwendung, während andere nicht enthalten Application.cfm überhaupt. Die besten Praxis liegt irgendwo zwischen diesen beiden Extremen, ich haben in der Regel nur ein Application.cfm an der Wurzel der Verzeichnis-Struktur für meine gesamte Anwendung. Ich will aber, fügen Sie ein Application.cfm überall dort, wo es unbedingt notwendig, aber ich bin sehr vorsichtig sein und fügen Sie einen Application.cfm nur, wenn ich einen zwingenden Grund, dies zu tun. CFAPPLICATION ist der Eckpfeiler der Anwendung ColdFusion Rahmens. Ohne CFAPPLICATION, würden Sie nicht in der Lage sein Set Client, Session oder Application-Variablen, und Sie würden nicht in der Lage sein Zustand zu halten, weil CFAPPLICATION ist ColdFusion-Mechanismus für den Umgang mit CFID und CFTOKEN. Die staatliche Verwaltung CFAPPLICATION Aspekte wurden bereits erwähnt, aber ein Attribut CFAPPLICATION, die leider oft übersehen wird, das Attribut name:

Das Attribut name der CFAPPLICATION Partitionen Application, Session und Client Variablen in separaten Räumen Anwendung. Wenn Sie CFAPPLICATION Aufruf mit dem Namen MyApp in einem Antrag und einen Namen yourapp in einem anderen Antrag, wird weder Antrag der anderen Anwendung, Session oder Client Variablen Aktien, weil die beiden Anträge in verschiedenen Anwen-Räume sind. Der Punkt ist, dass alle CFAPPLICATION Tags in Ihrem gesamten Anwendung sollte immer auf den gleichen Namen der Anwendung. Einige Entwickler versuchen, die Anwendung in verschiedene Teile gespalten, aber nicht tun. Die Aufteilung einer einzigen Anwendung in mehrere Bereiche Anwendung nach hinten los, weil jedes Mal, wenn der Entwickler wird immer vergessen, dass in einer Anwendung verwenden unterschiedliche Raum Session-Variablen Templates als Vorlagen in einer anderen Anwendung Raum. Keep it simple und die Verwendung einer einzigen Anwendung Namen für jede Anfrage in Ihrer Anwendung.

Ein Artikel eingereicht von Lucas Arnelas


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Aufbewahren Client Variablen" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 308 users browsing the articles directory