我正在使用VSTS 2008 + C#+ .Net 3.5来开发控制台应用程序。对于文件访问,我们可以以独占模式访问文件,阻止其他进程/线程访问文件 - 这具有“锁定”文件的效果。
我想知道目录,是否有任何内置的API或解决方案使目录独占访问 - 具有“锁定”的效果?例如,如果一个线程“锁定”目录,其他线程/进程无法调用Directory.GetFiles,无法将文件写入目录,无法从目录中读取文件等。
答案 0 :(得分:1)
我认为您可以做的是设置目录的访问控制,然后在完成后将其更改回来。看看这里:
http://msdn.microsoft.com/en-us/library/system.io.directory.setaccesscontrol.aspx
答案 1 :(得分:1)
如果您自己的进程可能会产生干扰,则可以使用命名的Mutex进行同步。保持其他过程非常困难,通常的方法是逃避临时(隐藏)目录,完成工作并复制/移回结果。