我正在编写一个 C#.NET 程序,它使用 XmlSerializer 将当前用户正在处理的项目与 XML 文件进行序列化和反序列化。这工作正常,但我试图找出一种方法来防止两个用户从网络驱动器打开同一个文件并让一个用户覆盖前一个用户的保存。我本质上想要 MS Word 的行为,如果程序在打开文件时无法获得对文件的写访问权限,它会以只读模式打开文件。
那么如何锁定对文件的访问呢?我是否只是让文件流对象保持打开状态并保留对它的引用?我是否继续对任何中间保存使用相同的文件流对象,而不是为每次保存打开和关闭它们?还是有其他方法可以锁定对文件的访问?
另外,即使我的应用程序崩溃了,我如何确保文件被释放?这是实现 IDisposable 的好案例吗?
最佳答案
您可以使用 FileStream.Lock
和 FileStream.Unlock
方法
关于c# - 如何在用户打开文件时锁定对文件的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300668/