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?
@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"? –
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