【问题标题】:Open image file with exclusivity以排他性方式打开图像文件
【发布时间】:2011-06-15 15:42:35
【问题描述】:

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

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

将在 50 台 PC 上打开多达 50 个此应用程序的实例

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

我可以独占打开文件吗?

如果我不能,我正在考虑将文件属性设置为已存档,这样如果 2 确实尝试打开同一个图像,希望人们应该看到它已存档并继续前进。

【问题讨论】:

  • 50 台 PC 上的 50 个实例.. 那么图像在哪里?
  • 这听起来像是 stackoverflow.com/questions/685135/… 的重复,如果不是很相似的话。
  • @Mannimarco 在他们都可以看到的服务器上

标签: c# .net file file-io


【解决方案1】:

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

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

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

您可以这样做的另一种方法是,如果另一个应用程序打开了图像,则为图像设置一个锁定文件。锁定文件可以只是一个虚拟的 txt 文件,如果它存在,那么您可以假设该文件正在被另一个进程使用。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-06-06
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多