我正在编写一个C#.NET程序,它使用XmlSerializer来序列化和反序列化当前用户正在处理的项目和XML文件.这工作正常,但我试图找出一种方法来阻止两个用户从网络驱动器打开相同的文件,并让一个用户覆盖以前用户的保存.我本质上想要MS Word具有的行为,如果程序在打开时无法获得对文件的写访问权,则会以只读模式打开文件.
那么如何锁定对文件的访问?我只是打开一个文件流对象并保留对它的引用吗?我是否继续使用相同的文件流对象进行任何中间保存,而不是为每次保存打开和关闭它们?或者是否有其他方法来锁定对文件的访问?
另外,即使我的应用程序崩溃,如何确保文件被释放?这是实现IDisposable的一个好例子吗?