2013-10-21 44 views
1

我想每5分鐘輪詢目錄中的文件。我不想使用filesystemwatcher。我是相當新的C#,我找不到任何好的例子如何輪詢目錄中的文件

這是我迄今爲止。我只是把它放在一個計時器?

string watchFolder = ConfigurationManager.AppSettings["watchFolder"]; 
    DirectoryInfo directoryInfo = new DirectoryInfo(watchFolder); 


    if (!Directory.Exists(watchFolder)) 
    { 
     Console.WriteLine(
      "{0} directory does not exist. Please modify the config file accordingly.", 
      watchFolder); 
     Environment.Exit(3); 
    } 

    FileInfo[] lastUpdatedFiles = directoryInfo.GetFiles(); 
+2

_Why_你不想使用FSW?這就像問我如何切水果?我不想用刀。 – SLaks

+0

我注意到signifigant文件鎖,我發現它缺少文件。 – user2892443

+0

當你從FileSystemWatcher獲得事件時,你實際上可以有幾個同時排隊。我處理整個我正在觀看的目錄,以便拾取所有存在的文件。至於文件鎖,這是一個時間問題,無論您如何執行此操作,都需要予以解決。 –

回答

1

把它在一個定時器可能是你最好的解決方案,但定時器類使用可能取決於這樣的:你在做一個控制檯應用程序,的WinForms,或WPF?對於Winforms使用Timer。

WPF的使用DispatcherTimer:WPF Timer Like C# Timer

在回答你的澄清意見,對服務中看到這樣的回答: Best Timer for using in a Windows service

+0

它是處理文件並將其從一個文件夾移動到另一個文件夾的服務的一部分 – user2892443

+0

回答有關SO的問題可以幫助我學習和問他們一樣多:http://stackoverflow.com/questions/246697/windows-service-and -timer請注意,我通過搜索[C#]計時器服務發現了這一點。 – philologon