2015-07-02 15 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

相關問題