2011-01-04 7 views
4

Meine WPF-App kann einzelne Dokumente öffnen und bearbeiten. Ich suche nach einem sauberen Ansatz, um mehrere Instanzen meiner WPF-App ausführen zu können, aber nur ein bestimmtes Dokument in einer Instanz der App geöffnet zu lassen. Wenn ein Benutzer versucht, ein Dokument zu öffnen, das bereits in einer anderen Instanz geöffnet ist, muss ich einen Dialog öffnen, um sie zu informieren und ihnen zu erlauben, bei Bedarf zu der anderen App-Instanz zu wechseln..Net mehrere App-Instanzen, aber einzelnes Dokument

Dank Dan

Antwort

3

Ein Ansatz besteht darin, zu versuchen, eine exklusive Sperre für die Datei zu nehmen, wenn Sie es öffnen. Wenn Ihre andere Anwendungsinstanz versucht, die Datei zu öffnen, wird eine IOException ausgelöst. Sie können diese Ausnahme abfangen und Ihrem Benutzer einen Dialog anzeigen, der besagt, dass die Datei bereits in einer anderen Anwendung geöffnet wurde. Dieses Szenario sollte trotzdem behandelt werden, da die Datei in einer anderen Anwendung geöffnet sein könnte, die nicht Ihre ist.

+0

Danke, ich hatte nicht überlegt, eine Dateisperre zu verwenden! – dan

Verwandte Themen