Hallo!
Ich hätte mal wieder ein Problem, ja, mist, ich weiß..
..und zwar überwache ich mit nem FileWatcher eine Datei auf Veränderung.
Wenn der FileWatcher feuert soll die Datei, die ein DataTable beinhaltet, auf mehreren Clients aktualisiert werden.
D.H. die Datei wird von mehreren Clients verwendet um "gemeinsam" an einer Tabelle zu arbeiten.
Wenn nun jemand einen Wert in der Tabelle hinzugefügt/verändert hat wird die DataTable in der Datei gespeichert..dann feuert bei jedem Client der Filewatcher!
Aber wenn nun mehrere Clients gleichzeitig diese Datei auslesen möchten krachts auf Grund des Dateizugriffs und einer geöffneten Datei!
Ich hab im Netz sowas gefunden wie:
"WaitForFile"
oder
"IsFileInUse":
Wenn ich die Funktion aber in eine While Schleife packe hängt das gesamte Programm..auch wenn die "Clients" den Lesezugriff beendet haben..
Gibts da iwas elegantes, oder wie könnte ich eine geregelte Verteilung der Datei realisieren?
Ich hätte mal wieder ein Problem, ja, mist, ich weiß..
..und zwar überwache ich mit nem FileWatcher eine Datei auf Veränderung.
Wenn der FileWatcher feuert soll die Datei, die ein DataTable beinhaltet, auf mehreren Clients aktualisiert werden.
D.H. die Datei wird von mehreren Clients verwendet um "gemeinsam" an einer Tabelle zu arbeiten.
Wenn nun jemand einen Wert in der Tabelle hinzugefügt/verändert hat wird die DataTable in der Datei gespeichert..dann feuert bei jedem Client der Filewatcher!
Aber wenn nun mehrere Clients gleichzeitig diese Datei auslesen möchten krachts auf Grund des Dateizugriffs und einer geöffneten Datei!
Ich hab im Netz sowas gefunden wie:
"WaitForFile"
oder
"IsFileInUse":
Wenn ich die Funktion aber in eine While Schleife packe hängt das gesamte Programm..auch wenn die "Clients" den Lesezugriff beendet haben..
Gibts da iwas elegantes, oder wie könnte ich eine geregelte Verteilung der Datei realisieren?