2012-04-02 2 views
4

私はバックグラウンドワーカーを持っています。 backgroundworker_doWorkで ファイルが存在するかどうかを確認したいのですが、ファイルが作成されるのを待っていますC# - backgroundworkerはファイルの作成を待ちます

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
{ 
    if(File.Exists(filename)){ 
     //.. code to do my work ... 
    } 
    else{ 
     //..Wait for the file to be create... 
    } 
//... end of backgroundworker 
} 

のおかげで:その本に新しいイム..私はこのような何かをしたい

を行うことがその仮定する仕事を続けていくが、私はちょうどそれを行う方法を見つけ出すその後、作成した後advance

答えて

7

FileSystemWatcherは、ファイルの作成時にイベントを取得します。

+0

このシナリオは、しばらくの間ファイルが存在するため、別のプロセスがそれを削除するためです。ファイルが削除されたかどうかを確認する状態に戻らなければなりません。スニペットやそのようなものが本当に役に立つファイル –

+1

'FileSystemWatcher'には複数のイベントがあります:作成と削除のためです。私はあなたがマニュアルを読むことをお勧めし、その知識とファイルを処理するためのアルゴリズムを変更しようとします。 –

3

実際にはFileSystemWatcherを使用する必要があります。 「待機中の仕事」についてはBackgroundWorkerが適切なツールではありません。FileSystemWatcherまたは従来のスレッドを使用します。

関連する問題