2013-03-05 19 views
5

Ich brauche einen Weg, um zu überprüfen, ob einige MMF (Memory mapped file) vorhanden ist oder nicht, bevor Sie darauf zugreifen, in einer verwalteten Weise.Wie überprüft man, ob eine Memory-Mapped-Datei existiert?

+4

Warum nicht eine echte Frage? –

+1

'File.Exists' wird nicht den Trick machen? http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx –

+0

Raymond Chen Worte zu verwenden: "Wenn Sie wissen müssen, dann tun Sie es falsch". Sie werden dies feststellen, sobald Sie sicherstellen, dass nur ein Prozess gleichzeitig auf die MMF zugreifen kann. Und Sie tun etwas Sinnvolles, wenn einer der Prozesse unerwartet beendet wird. –

Antwort

6

Sie können verwenden: MemoryMappedFile.OpenExisting Methode. Wenn die angegebene Datei nicht vorhanden ist, wird FileNotFoundException ausgelöst.

+1

Kann ich es ohne Ausnahme tun? es ist überhaupt keine gute Übung! –

+1

@MohamedSakherSawan: Es gibt keine mir bekannte Methode, mit der du tun kannst, was du willst. Aber das ist überhaupt kein Problem, da die Verwaltung von Programmabläufen mit Ausnahmen eine * sehr häufige *, wenn nicht oft * nur mögliche Möglichkeit ist, IO-Zugriffe im Programm zu verwalten. – Tigran

+1

Aber es ist sehr schlecht für die Leistung! Sie können für IO richtig sein. –

Verwandte Themen