2010-03-24 14 views
6

Me disculpo si esta es una pregunta "duh". Parece que la respuesta debería ser fácilmente googleable, pero aún no la he encontrado.¿Cómo puedo superar las variables del ámbito del Cliente en Coldfusion?

Estoy trabajando en una gran aplicación de Coldfusion que almacena una gran cantidad de datos de sesión/usuario en el ámbito del Cliente (es decir, < cfset Client.UserName = "JoshuaC" >). No escribí esta aplicación, y no tengo el lujo de refactorizarla significativamente.

Se me ha asignado la tarea de establecer las variables del Cliente en tiempo de espera después de 72 horas. No estoy del todo seguro de cómo hacer esto. Si hubiera escrito la aplicación, habría almacenado las variables en el ámbito de la sesión y luego habría cambiado el atributo sessiontimeout de la etiqueta CFAPPLICATION. Sin embargo, como es cierto, no estoy seguro si ese tiempo de espera afecta las variables del Cliente, o cuál es su nivel de persistencia. La forma en que la aplicación funciona ahora, las variables del Cliente nunca caducan, y solo borran las cookies del usuario, o visitando una página de cierre de sesión que establece todas las variables de la aplicación del Cliente en "", borrará los valores.

Por supuesto, podría crear algún tipo de variable de marca de tiempo como Client.LastAccessDateTime, y poner algo en Application.cfm para borrar las variables del cliente si ese datetime es más de 72 horas antes de Now(). Pero tiene que haber una mejor manera, ¿verdad?

Respuesta

4

Dependiendo de si su están utilizando una fuente de datos o registro como una tienda de cliente tiene que establecer los "datos de purga para los clientes que permanecen no visitados durante 90 días a 3 días (= 72 horas) en el administrador de ColdFusion

= > Las variables de cliente => Variables de registro

o

cliente =>NameOfDatabase página.

Si variables del cliente se almacenan como galletas, entonces usted ha ve para ajustar el período de caducidad, al configurar la cookie.

El intervalo de purga en la página Variables del cliente solo controla la frecuencia con la que ColdFusion ejecuta una operación de purga en sus almacenes de clientes (= busca variables de cliente expiradas para eliminarlas).

2

Supongo que está buscando Intervalo de purga configuración, que se configura en CF Administrator en la página Configuración del servidor> Variables del cliente. El intervalo predeterminado es de 1 hora y 7 minutos.

EDITAR: Este valor de configuración no es exactamente lo que necesita. Lo siento, mira mi comentario sobre la purga: piensa que es más preciso.

+0

@Sergii - Eso es interesante ... eso podría ser lo que estoy buscando. Pero si configuro el intervalo en 72 horas y una variable en la hora 71, ¿se purgará una hora después? ¿O es el intervalo de purga "desde el último acceso"? –

+0

Ver la respuesta de Andreas, primer párrafo. Si está utilizando la base de datos o el registro para almacenar las variables del cliente, puede configurar su propia configuración de depuración ("Purgar datos para los clientes que permanecen sin visitar durante 3 días", para las 72 horas, derecha), lo que significa "Habilitar esta opción si desea que ColdFusion purgue periódicamente los datos del cliente a los que no se haya accedido en el número de días especificado ". Piensa que esto responde tu pregunta. Lo siento, no puedo decir que esté 100% seguro porque no usé el ámbito del cliente en lugar de la sesión. – Sergii

Cuestiones relacionadas