【发布时间】:2011-09-14 04:58:02
【问题描述】:
我希望在监视单个目录的多台服务器上(在共享服务器或 SAN 上)拥有相同的服务。当一个文件出现在该目录中时,我想要一个,并且只有一个服务可以获取该文件并处理其内容。
我试图通过在处理文件之前将文件移出共享目录来对此进行编程。我可以简单地处理无法移动文件的服务器上的异常。问题是发生冲突并导致文件不被任一服务器处理。
文件很可能会分批到达,而不是一个接一个。有谁知道一种可以保证有效的方法?
【问题讨论】:
-
不幸的是,我无法提供解决方案,但我会说我已经尝试过您在使用 FSW 之前所说的内容,并且出现了太多问题(当从 Win7 中拖入 20 多个文件时)不接他们,等等....)。我最终保留了一个文件名的哈希图来访问时间和诸如此类的东西,并用它来跟踪新的/更改的文件(可能看起来有点慢,但用 C 重写它会快得多)。这是我的解决方案,但它可能对你不起作用,这就是为什么这是一个评论(而且是一个很长的评论)。
标签: c# .net filesystems filesystemwatcher