2012-04-02 6 views
4

Ich habe einen Hintergrundarbeiter .. Im Hintergrundworker_doWork Ich möchte überprüfen, ob eine Datei existiert oder nicht .. Wenn nicht, dann warte ich auf die Datei zu erstellen und einmal seine schaffen dann mit der Arbeit seiner suppose weitermachen zu tunC# - Hintergrundarbeiter warten auf Datei erstellt werden

ich so etwas wollen .. aber ich nur entscheiden, wie es zu tun .. im neu in diesem:

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 
} 

Danke Fortschritt

Antwort

7

Sie können eine 01 verwendenum ein Ereignis zu erhalten, wenn die Datei erstellt wird.

+0

Da das Szenario ist, existiert die Datei für eine Weile, dann ein anderer Prozess löscht es .. so muss ich zurück zu einem Zustand der Überprüfung, ob die Datei gelöscht wird .. ein Schnipsel oder etwas dieser Art wäre wirklich hilfreich –

+1

Der 'FileSystemWatcher' hat mehrere Ereignisse: Zur Erstellung und zum Löschen. Ich schlage vor, Sie lesen das Handbuch und versuchen mit diesem Wissen, Ihren Algorithmus für die Handhabung der Datei zu ändern. –

3

Sie sollten wirklich eine FileSystemWatcher verwenden. Für "wartende Aufgaben" ist BackgroundWorker nicht das richtige Werkzeug - ich würde FileSystemWatcher oder einen traditionellen Thread verwenden.

Verwandte Themen