我有一个应用程序,它将获得图像文件名的列表,并将它们放在列表中。
它将在列表上循环,打开文件并将其显示在图片框中。
在50台电脑的上,将有多达50个该应用程序的实例打开
如果同样的2台电脑试图打开图像并显示它,我需要一台失败并转到下一台。
我可以独家打开这个文件吗?
如果我做不到,我想把文件属性设置为已存档,这样如果2确实试图打开同一个图像,希望人们能看到它已存档并继续前进。
我想你需要的是。。。
http://msdn.microsoft.com/en-us/library/5h0z48dh.aspx
http://msdn.microsoft.com/en-us/library/system.io.fileshare.aspx
另一种可以做到这一点的方法是,如果另一个应用程序打开了图像,则为其创建一个锁定文件。锁定文件可以只是一个伪txt文件,如果它存在,则可以假设该文件正在被另一个进程使用。
因为它们都位于服务器上。。我会创建一个在服务器上运行并处理图像请求的应用程序。否则,您可能会在程序崩溃后留下旧的锁定文件,然后需要每x天清理一次。服务器应用程序可以处理所有的锁定等等。