le verrouillage de fichier pour l'écriture de service Windows
-
27-09-2019 - |
Question
Je veux verrouiller un fichier pour l'écriture d'un service Windows, mais jusqu'à présent, mes tentatives pour obtenir un verrouillage ne fonctionnent pas. Les mêmes œuvres de code d'une application console, cependant.
D'après ce que j'ai lu, c'est parce que verrouillage opportuniste n'est pas activé mon service .
Comment puis-je empêcher un fichier d'être écrit par le verrouillant d'un service sans avoir recours à hacks de registre?
Code pour verrouillage:
FileStream lockStream = new FileStream(path, FileMode.Open, FileAccess.Read);
code pour déverrouiller:
lockStream.Close();
lockStream.Dispose();
La solution
using (fs = new FileStream("somefile.txt", FileMode.Open, FileAccess.Read, FileShare.None))
{ }
Avez-vous utilisé le mode FileShare lorsque vous ouvrez le fichier pour la lecture ou l'écriture?
Autres conseils
Utilisez un mondial Mutex faisant très attention à libérer (Enfin, etc.)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow