我的程序将来必须同时在不同的计算机上运行。如何在应用程序加载时打开该文件,然后拒绝访问除应用程序当前实例之外的其他任何内容? (先到先得用于访问文件)。
或者一种以特定方式标记文件的方法,我可以在表单加载上运行检查以查看它是否被标记,并通过禁用任何触发与文件交互的按钮来伪锁定它。
这只是为了防止多个人同时处理同一个文件。
基本上任何允许这样做的方法都可以。我只需要一个起点,然后我可以继续进行调整和优化。
最佳答案
您可以使用 File.Open 打开该文件并传入FileShare.None作为您的共享类型。这将限制其他人打开该文件。
File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
编辑:
只是从您的一些其他问题猜测您稍后会在应用程序中对此文件调用 XElement.Load
。 Load 的重载之一采用 Stream 。 File.Open
方法返回一个FileStream
。您可以在应用程序打开时立即打开文件,然后当您准备好读取 XML 文件时,只需将 FileStream
传递到 XElement.Load
即可。
关于vb.net - VB打开文件然后禁止访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159366/