Pregunta

Ok, configuración extraña, pregunta extraña. Tenemos un cliente y una aplicación web de administración para nuestra aplicación SaaS, que se ejecuta en asp.net-2.0 / iis-6. La aplicación Admin puede cambiar las opciones que se muestran en la aplicación Cliente. Cuando esas opciones se guardan en el Administrador, llamamos a un Servicio web en el Cliente, desde el Administrador, para vaciar nuestro caché de las opciones para esa cuenta específica.

Recientemente comenzamos a dar a nuestra aplicación Cliente > 1 Procesos de trabajo, lo que hace que el caché de opciones solo se borre en 1 de los Procesos de trabajo actualmente en ejecución.

Entonces, obviamente tengo otras vías para solucionar este problema (sin embargo, se agradece la entrada), pero mi pregunta es: ¿hay alguna forma de enfocar / iterar a través de cada Proceso de trabajo a través de una solicitud web?

¿Fue útil?

Solución

Estoy haciendo algunas suposiciones aquí para esta respuesta ...

  1. ¿Asumo que la aplicación cliente está usando una de las clases de almacenamiento en caché de .NET para almacenar las opciones de su aplicación?

  2. Cuando dice 'enjuagar', ¿quiere decir volver a enjuagarlos a un archivo de configuración o tabla db?

Debido a que los objetos y los datos de la caché no se compartirán entre los procesos, necesita un mecanismo para indicar al código que se ejecuta en el otro proceso de trabajo que necesita volver a leer sus opciones en su caché o forzar el proceso para reiniciar ( que no es exactamente conveniente y probablemente indeseable).

Si no tiene acceso a la fuente del cliente para modificar para ver el archivo de configuración de opciones o la tabla de base de datos (por ejemplo, usando una dependencia SqlCacheDependency), creo que está atascado con este comportamiento.

Otros consejos

Tengo acceso total al administrador y al cliente, por caché, me refiero al objeto Caché de .net. Por rubor me refiero a eliminar el elemento del objeto Cache.

Soy consciente de que ambos procesos de trabajo no comparten los datos de la memoria caché. Ese es mi enigma)

El sistema es la forma de eliminar la necesidad de presionar sql en cada nueva sesión que ingrese. Así que estoy tratando de encontrar una solución que pueda decirle a cada proceso de trabajo que el caché necesita ser borrado con o involucrar a SQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top