En una aplicación web asp.net, quiero escribir en un archivo. Esta función primero obtendrá datos de la base de datos y luego escribirá el archivo plano.Quiere escribir en un archivo, pero puede tener potencialmente varios escritores a la vez, necesita bloquear
¿Qué se puede hacer para asegurarse de que se produce sólo 1 de escritura, y una vez que los occurrs de escritura, los otros hilos que tal vez quieran escribir en el fichero no hacerlo ya que la escritura se llevó a cabo.
Quiero tener esta escritura se hacen sólo si no se ha hecho en digamos 15 minutos.
Sé que hay una palabra clave de bloqueo, por lo que debería envolver todo en un bloqueo, y comprobar si se ha actualizado en 15 minutos o más, o viceversa?
actualización
flujo de trabajo:
Como se trata de una aplicación web, las múltiples instancias serán las personas que visitan una página web en particular. Podría usar la compilación en el sistema de caché, pero si asp.net recicla, será costoso reconstruir la caché, así que solo quiero escribirla en un archivo plano. Mi otra opción sería simplemente crear un servicio de Windows, pero eso es más trabajo para administrar lo que quiero.
¿Están todas las escrituras sucediendo dentro de una única instancia de una sola aplicación? ¿O varias instancias de la aplicación intentarán escribir al mismo tiempo o las diferentes aplicaciones intentarán escribir al mismo tiempo? –