2015-07-02 16 views
0

我正在研究一个项目,每次将某些内容添加到特定目录时,这些项目都会将文件复制到数据库。现在,当我用一小组数据测试时,程序工作正常,但我想知道是否有人可以解释FileSystemWatcher.Created事件如何工作。FIleSystemWatcher.Created它是如何工作的?

我主要关心的是,当我在更大规模上使用它时,程序处理超过100,000个文件时可能会减慢速度。

如果这是一个问题,任何人都可以解释是否有某种解决方法来轮询原始文件夹,让我们调用“C:\文件夹”,也许轮询一个临时文件夹。

回答

0

我还没有测试过100,000个文件的观察者。但是,在大多数情况下,您不应该在等待处理的文件夹中包含太多文件。我建议像

C:\folder 
C:\folder\processing 
C:\folder\archive 
C:\folder\error 

的结构一旦你开始在一个给定的文件工作,将其移动到processing。如果您成功处理它,请将文件再次移至archive。如果在处理文件时发生错误,请将其移至error

这将使您更容易组织文件并诊断生产中发生的问题。

使用该文件结构,您将不会遇到您正在观看的文件夹中存在大量文件的问题,除非您以极高的突发接收文件的速度与可以移入处理状态的速度相比。

+0

谢谢你,我在开发诸如此类的大型项目方面相当新颖。感谢您对未来项目的建议 – averyto8

相关问题