el bloqueo de archivos para la escritura de servicio de Windows
-
27-09-2019 - |
Pregunta
Quiero bloquear un archivo para la escritura de un servicio de Windows, pero hasta ahora mis intentos de obtener un bloqueo no están funcionando. El mismo código funciona desde una aplicación de consola, sin embargo.
Por lo que he leído, esto se debe a oportunista bloqueo no está habilitada para mi servicio .
¿Cómo puedo evitar que un archivo sea escrito a bloqueándolo de un servicio sin tener que recurrir a los cortes de registro?
Código de bloqueo:
FileStream lockStream = new FileStream(path, FileMode.Open, FileAccess.Read);
El código para desbloquear:
lockStream.Close();
lockStream.Dispose();
Solución
using (fs = new FileStream("somefile.txt", FileMode.Open, FileAccess.Read, FileShare.None))
{ }
¿Ha utilizado el modo FileShare al abrir el archivo para leer o escribir?
Otros consejos
Utilice un Global objeto mutex ser muy cuidadosos para liberarlo (Finalmente, etc.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow