.NET 4 einzelne Anwendungsinstanz

8

Ich schreibe oft .net-Anwendungen, die nur eine Instanz unterstützen. Früher habe ich .net-remoting und jetzt WCF verwendet, um zu erkennen, ob bereits eine Instanz meiner App läuft und dieser Instanz den Fokus gibt.

Meine Frage ist, ob es mit .net4 eine bessere Lösung gibt, um Single-Instance-Anwendungen zu erreichen (oder gibt es im Allgemeinen eine bessere Lösung, weil das Laden der WCF- oder Remoting-Assembly zu Beginn der Anwendung schlecht ist) Leistungseinfluss)

Aktualisieren

Danke für den ganzen Beitrag. Die Antwort auf meine anfängliche Frage scheint zu sein " nein, es gibt nichts Neues, um Einzelinstanzanwendungen innerhalb von .net 4 zu erreichen.

Dank all der zusätzlichen Informationen werde ich meine aktuellen Projekte ändern, um einen Mutex zu verwenden, um die gewünschte Funktionalität bereitzustellen. Ich habe die Antwort von Bob Moore angenommen, weil er die meisten Informationen enthält, aber danke an alle, die nützliche Informationen gepostet haben.

    
HCL 09.07.2010, 09:53
quelle

4 Antworten

11

Der traditionelle Weg dazu ist ein Mutex, z. B.

%Vor%

Bearbeiten:

Ich habe diesen Code gefunden, um SetForegroundWindow online aufzurufen, damit Sie die andere Instanz Ihrer App finden und nach vorne bringen können:

%Vor%

Beachten Sie, dass Sie in modernen Windows-Implementierungen nur den Vordergrund weggeben können.

    
Bob Moore 09.07.2010, 09:56
quelle
2

Ich benutze ein Mutex und FindWindow , um dies zu tun.

Was Ihren Kommentar zu einer anderen Antwort betrifft:
Informationen zu lokalen und globalen Mutexe in Terminaldienste folgen Sie diesem Link .

  

Terminaldienste-Clientprozesse   kann Objektnamen mit einem "Global" verwenden   oder "Lokales" Präfix explizit   Erzeuge ein Objekt im globalen oder   Sitzungsnamensraum.

Dies ist der Code, mit dem ich das Fenster aktiviere:

%Vor%     
GvS 09.07.2010 09:57
quelle
2

Es gibt einen einfacheren Weg - mit Hilfe der WindowsFormsApplicationBase-Klasse von Microsoft.VisualBasic.ApplicationServices:

%Vor%     
Shrike 29.11.2010 11:18
quelle
-2

Ich würde Singleton-Muster vorschlagen. Schau dir das an (Beispiel für VB.net!): Ссылка

Grütz

    
Husky110 09.07.2010 09:58
quelle

Tags und Links