Memorizzazione Client Variabili

Si può ricordare che le variabili di sessione vengono memorizzati nella memoria, mentre le variabili client sono memorizzati in una struttura del disco. La struttura interna delle variabili di sessione in memoria è importante, ma le opzioni per la memorizzazione di variabili client meritano una discussione. Per impostazione predefinita, negozi ColdFusion Client variabili nel Registro di sistema di Windows. Come potete vedere, tutte le variabili client assegnato a una determinata sessione sono memorizzati in una chiave che prende il nome dal CFID e CFTOKEN di una determinata sessione. Il problema è che il registro di Windows non è mai stato inteso come un dati ad alta velocità di archiviazione e sistema di recupero, e un gran numero di accessi consecutivi può influire sulle prestazioni di un server. Un'opzione migliore è quella di memorizzare le variabili client su un server di database. Questo è leggermente più complicato che la memorizzazione dei dati nel Registro di sistema. È innanzitutto necessario impostare il database come quello che è possibile utilizzare ColdFusion per Client-storage variabile. Per effettuare questa operazione, attenersi alla seguente procedura:

  

1. In ColdFusion Administrator, impostare un DataSource ColdFusion in cui memorizzare le variabili client. (Dovrebbe essere un server effettivo di database, come Microsoft SQL Server o Oracle, e non un file prodotto a base di come Microsoft Access.)

2. Vai a variabili client di ColdFusion Administrator, scegliere l'origine dati che avete appena creato e fare clic su Aggiungi.

3. Dare al datasource una descrizione significativa, lasciare tutte le caselle di controllo nella loro posizione di default, e fare clic su Invia. Modificare le impostazioni del check-box solo se siete assolutamente sicuri che è necessario. Dopo aver seguito i passi, il database contiene ora due nuovi articoli: CDATA e CGLOBAL. CDATA contiene il client di dati variabili, e CGLOBAL contiene le informazioni a livello mondiale per ogni sessione, come ad esempio il numero di passaggi e l'ora di ultima visita. Per iniziare a utilizzare il client variabili database, è possibile effettuare una delle seguenti due cose:

Impostare la proprietà DataSource come il client di default l'opzione di archiviazione variabile in ColdFusion Administrator. Questa è una buona idea perché nessuno del vostro codice deve cambiare per sostenerlo. Questa non è una buona idea, tuttavia, se si esegue più siti Web con più database Clientvariable, perché si potrebbe inavvertitamente memorizzare le variabili nel posto sbagliato.

Utilizzare il tag CFAPPLICATION come segue:

Questa è una scelta migliore in generale, in quanto offre un controllo più granulare su cui le variabili client vengono memorizzate.

...

Perché usiamo UCase ()? Purtroppo, il parametro jsessionid che fa parte di Session.URLToken è incluso come parametro minuscole J2EE, tuttavia, richiede che jsessionid essere incluso come lettere maiuscole. Se non si include la chiamata a UCase (), lo stato non viene mantenuto tra le richieste. Un dettaglio importante dello sviluppo ColdFusion che viene spesso trascurato, purtroppo, è il framework di applicazioni, che si riassume in due parti: l'uso efficace delle Application.cfm, OnRequestEnd.cfm, e il tag CFAPPLICATION. Un file che esistono in quasi tutte le applicazioni ColdFusion è Application.cfm. ColdFusion esegue questo file prima di ogni richiesta di pagina, rendendo Application.cfm un luogo eccellente per impostare le variabili che ogni richiesta di pagina è possibile utilizzare, come ad esempio il nome del datasource, il nome utente e password del database, e di altre costanti globali. Inoltre, ColdFusion anche eseguire un modello denominato OnRequestEnd.cfm dopo ogni richiesta della pagina, rendendo OnRequestEnd.cfm un posto ideale per inserire il codice piè di pagina per il tuo sito. Quando si richiede un modello di ColdFusion, la ColdFusion prima cosa che fa è cercare di applicazione. cfm nella directory che contiene il modello che hai richiesto. Se ColdFusion trova Application.cfm, la ricerca si interrompe e ColdFusion esegue Application.cfm. Se non c'è un Application.cfm nella directory corrente, ColdFusion cerca in ogni directory nella richiesta del modello sentiero fino ColdFusion trova un file denominato Application.cfm. Ad esempio, se richiesto c: \ inetpub \ mydirectory \ wwwroot \ mytemplate.cfm , ColdFusion avrebbe ricerca di Application.cfm nelle seguenti directory in questo ordine:

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

ColdFusion, se non trova uno Application.cfm in qualsiasi parte del modello di richiesta di gerarchia delle directory, ColdFusion esegue semplicemente il modello richiesto. Quando il modello di richiesta finiture, ColdFusion guarda nella stessa directory in cui ha trovato Application.cfm per un file denominato OnRequestEnd.cfm . ColdFusion, se non trova OnRequestEnd.cfm nello stesso luogo, come Application.cfm, ColdFusion finisce semplicemente la richiesta. OnRequestEnd.cfm non segue la stessa directory traversal processo che Application.cfm fa. Il problema è sapere dove mettere Application.cfm e OnRequestEnd.cfm. Alcune applicazioni porre Application.cfm in ogni singola directory nella domanda, mentre altri non comprendono Application.cfm a tutti. Le migliori pratiche si trova a metà strada tra questi due estremi, di solito ho solo un Application.cfm alla radice della struttura di directory per la mia intera applicazione. Io, però, aggiungere un Application.cfm ovunque che è assolutamente necessario, ma io sto molto attento ad aggiungere un Application.cfm solo se ho un motivo valido per farlo. CFAPPLICATION è la pietra angolare del quadro ColdFusion di applicazione. Senza CFAPPLICATION, non sarebbe in grado di impostare Cliente, Session, Application o variabili, e non sarebbe in grado di mantenere lo stato, perché è CFAPPLICATION meccanismo ColdFusion per la movimentazione e CFID CFTOKEN. Gli aspetti di gestione dello stato di CFAPPLICATION sono stati menzionati in precedenza, ma un attributo di CFAPPLICATION che purtroppo è spesso trascurato è l'attributo nome:

L'attributo nome di partizioni CFAPPLICATION Application, Session, e le variabili client in spazi domanda separata. Se si chiama CFAPPLICATION con un nome di MyApp in una richiesta e un nome di YourApp in un'altra richiesta, non verrà richiesta quota di altri Application, Session, o variabili Client perché le due richieste sono in spazi diversa applicazione. Il punto è che tutte le tags CFAPPLICATION nella vostra intera applicazione dovrebbe sempre riferimento al nome della stessa applicazione. Alcuni sviluppatori di provare a dividere l'applicazione in diverse parti, ma non farlo. Dividere una singola applicazione in spazi domanda multipla si ritorce contro, perché ogni volta che lo sviluppatore sarà sempre dimenticare che i modelli in un unico spazio di uso diverse variabili di sessione di modelli in un altro spazio di applicazione. Keep it simple e utilizzare un solo nome di applicazione per ogni richiesta nella vostra applicazione.

un articolo presentato da Lucas Arnelas


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "memorizzare le variabili Client" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 238 users browsing the articles directory