我想锁定一个文件以便从Windows服务写入,但到目前为止,我尝试获取锁定无效。但是,相同的代码可以从控制台应用程序中运行。
据我所知,这是因为opportunistic locking未启用我的服务。
如何通过从服务锁定文件而不诉诸注册表黑客来阻止文件被写入?
FileStream lockStream = new FileStream(path, FileMode.Open, FileAccess.Read);
lockStream.Close();
lockStream.Dispose();
答案 0 :(得分:1)
using (fs = new FileStream("somefile.txt", FileMode.Open, FileAccess.Read, FileShare.None))
{ }
打开文件进行读写时,您是否使用过FileShare模式?
答案 1 :(得分:0)
使用Global Mutex非常小心地释放它(最后等等)