文件服务器上的轮询目录

时间:2011-06-15 17:37:43

标签: c# .net architecture .net-4.0 filesystems

我需要编写一个应用程序来轮询在文件服务器上包含图像的目录,并一次显示4个。

此应用程序将同时在网络上运行50次。

我正在考虑完成此要求的最佳架构。

我正在研究打开一个具有读/写访问权限且不允许文件共享的文件的想法,这样如果另一台PC进来读它就会出错,它将不得不转移到下一个,问题是,我需要在同一台电脑上按顺序访问所有4个图像,确保其他电脑不要试图打开它们。因此,例如,如果PC1试图打开1.jpg,它需要能够打开1,2,3,4.jpg。如果另一台PC同时进入阅读它,我需要一种方法,然后打开5,6,7,8.jpg等等。

这似乎是一个简单的要求,但尝试成功构建是一场噩梦。

2 个答案:

答案 0 :(得分:1)

你基本上处理竞争条件,我没有看到从不同机器上运行的应用程序的单独实例处理它的方法,除非你能保证你的文件命名总是遵循一个标准的命名约定允许你只使用第一个文件的名称来处理4个文件的序列。

处理此问题的最佳方法是使用集中资源来管理对文件的访问,这可以是评论中建议的数据库,也可以是将“分发”每组4的服务(如WCF)。文件。

答案 1 :(得分:0)

创建1.jpg.lock文件怎么样?文件的存在表示图像已被锁定,应用程序的任何其他实例应跳过该组。