2010-03-24 5 views
6

Mi scuso se questa è una domanda "duh". Sembra che la risposta dovrebbe essere facilmente googleable, ma non l'ho ancora trovata.In che modo è possibile sospendere le variabili nell'ambito del client in Coldfusion?

Sto lavorando a un'applicazione Coldfusion di grandi dimensioni che memorizza una grande quantità di dati sessione/utente nell'ambito Client (ovvero < cfset Client.UserName = "JoshuaC" >). Non ho scritto questa applicazione e non ho il lusso di ridefinirla in modo significativo.

Mi è stato assegnato il compito di impostare il timeout delle variabili Client dopo 72 ore. Non sono completamente sicuro di come farlo. Se avessi scritto l'applicazione, avrei memorizzato le variabili nell'ambito Session e modificato l'attributo sessiontimeout del tag CFAPPLICATION. Tuttavia, non sono sicuro che quel timeout influenzi le variabili Client o qual è il loro livello di persistenza. Il modo in cui l'applicazione funziona ora, le variabili Client non scadono mai, e solo cancellando i cookie dell'utente, o visitando una pagina di disconnessione che imposta tutte le variabili dell'applicazione con ambito client su "", cancellerà i valori.

Ovviamente, è possibile creare una specie di variabile timestamp come Client.LastAccessDateTime e inserire qualcosa in Application.cfm per cancellare le variabili client se tale datetime è più di 72 ore prima di Now(). Ma dev'esserci un modo migliore, giusto?

risposta

4

A seconda se si sta usando un DataSource o Registro di sistema come un negozio client è necessario impostare i "dati di eliminazione per i clienti che rimangono non visitato per 90 giorni a 3 giorni (= 72 ore) sulla

ColdFusion Administrator = > Variabili client => variabili di registro

o

client =>NameOfDatabase Pagina.

Se variabili client vengono memorizzati come cookie, allora si ha per regolare il periodo di scadenza, quando si imposta il cookie.

L'intervallo di spurgo nella pagina Variabili client controlla solo la frequenza con cui ColdFusion esegue un'operazione di eliminazione nei negozi client (= cerca le variabili client scadute per eliminarle).

2

Suppongo che stiate cercando l'impostazione Intervallo di spurgo, che è configurata in Amministratore CF nella pagina Impostazioni server> Variabili client. L'intervallo predefinito è 1 ora e 7 minuti.

MODIFICA: Questo valore di impostazione non è esattamente quello che ti serve. Mi dispiace, vedere il mio commento sull'eliminazione - pensate che sia più accurato.

+0

@Sergii - È interessante ... potrebbe essere quello che sto cercando. Ma se imposto l'intervallo a 72 ore e una variabile è impostata sulla 71esima ora, verrà cancellata 1 ora dopo? O è l'intervallo di spurgo "dall'ultimo accesso"? –

+0

Vedere la risposta Andreas, primo paragrafo. Se si sta utilizzando il database o il registro per l'archiviazione delle variabili client, è possibile impostare la propria impostazione di eliminazione ("Elimina i dati per i client non visitati per 3 giorni" - per le 72 ore, a destra), che significa "Abilita questa opzione se si desidera che ColdFusion elimini periodicamente i dati dei client a cui non si è avuto accesso nel numero di giorni specificato. " Pensa che questo risponda alla tua domanda. Spiacente, non posso dire per sicuro al 100% perché non ha usato l'ambito client invece della sessione. – Sergii