我的程序将来必须同时在不同的计算机上运行。如何在我的应用加载时打开文件,然后拒绝访问其他任何内容除了我的应用的当前实例? (先到先得,以便访问该文件)。
或者只是以特定方式标记文件的方法,我可以对表单加载运行检查以查看它是否已标记,并通过禁用任何触发与文件交互的按钮来伪锁定它。 / p>
这只是为了防止一个人同时使用同一个文件。
基本上任何允许这种情况的方法都可以。我只需要一个起点,我可以随着时间的推移进行调整和优化。
答案 0 :(得分:2)
您可以使用File.Open打开文件,并传递FileShare.None作为共享类型。这将限制其他人打开文件。
File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
修改强>
您可以稍后在应用程序中猜测您在此文件上调用XElement.Load
的其他一些问题。 Load的重载之一需要Stream。 File.Open
方法会返回FileStream
。您可以在应用程序打开时立即打开文件,然后当您准备好阅读XML文件时,只需将FileStream
传递给XElement.Load
。