Nur eine Programminstanz im Netzwerk zulassen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von C-Sharp.

    Nur eine Programminstanz im Netzwerk zulassen

    Hi,

    ich hab ein Programm, das theoretisch von mehreren Nutzern gleichzeitig geöffnet werden kann, da es auf einem Netzlaufwerk abgelegt ist.
    Mir ist es aber lieber, wenn das Programm immer nur genau einmal geöffnet ist um unterschiedliche Speicherstände zu vermeiden.

    Ich hab mir überlegt eine .XML im Verzeichnis abzulegen, in der abgespeichert wird, ob das Programm bereits geöffnet ist, eine weitere Instanz würde
    dann nur im read-only-Modus geöffnet werden können.
    Man bräuchte eine overwrite-Funktion falls mal eine Instanz abstürzt und der Status nicht wieder geändert wird.

    Bis jetzt habe ich nur Standardlösungen gefunden, die die Prozesse überwachen, das dürfte in einer Netzwerkumgebung allerdings nicht funktionieren.

    Hat jemand noch eine elegantere Lösung? Die overwrite-Funktion hat ja einen gewisses Fehlerpotential inne.
    Option strict = on

    If it's stupid and it works it ain't stupid.
    Könnte man nicht auch solange das Programm offen ist, eine Datei im Zugriff haben und dann wie bei z.B. den MS Office Programmen eine Meldung ausgeben, wird derzeit verwendet von "User 0815"...Möchten Sie die Datei nur lesen...JA/NEIN?
    Damit hättest du jedenfalls kein Problem, wenn das Programm abstürzt usw. da die Datei danach nicht mehr im Zugriff ist.
    NETworkManager - A powerful tool for managing networks and troubleshoot network problems!