打开具有排他性的图像文件

时间:2011-06-15 15:42:35

标签: c# .net file file-io

我有一个应用程序,它将获取图像文件名列表并将它们放在列表中。

它将遍历列表并打开文件并将其显示在图片框中。

此应用程序最多将有50个实例在50 PC上打开

如果相同的2台PC试图打开图像并显示它,我需要一台失败并转移到下一台。

我可以独家打开文件吗?

如果我不能,我会考虑将文件属性设置为已存档,以便如果2确实尝试打开相同的图像,那么应该会看到它已存档并继续前进。

2 个答案:

答案 0 :(得分:1)

我认为你需要的是......

http://msdn.microsoft.com/en-us/library/5h0z48dh.aspx

http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx

另一种可以执行此操作的方法是,如果另一个应用程序打开了该图像,则为该图像设置一个锁定文件。锁文件只能是一个虚拟的txt文件,如果它存在,那么你可以假设该文件正由另一个进程使用。

答案 1 :(得分:0)

因为它们都位于服务器上..我创建了一个可以在服务器上运行并处理图像请求的应用程序。否则,您可能会在程序崩溃等情况下结束旧的锁定文件,这将需要每x天清理一次。服务器应用程序可以处理所有锁定等。