Entwickler-Ecke

Verteilte Systeme - Consolenprogramm mit Servicehost durch Serviceaufruf beenden


MrKnogge - Mi 28.12.11 02:42
Titel: Consolenprogramm mit Servicehost durch Serviceaufruf beenden
Hallo Zusammen,

ich hoste in einem Consolenprogramm einen WCF-Host.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
static void Main(string[] args)
{
var callback = new ServiceCallback();
var binding = new NetNamedPipeBinding();
var client = new Service(callback, binding, new EndpointAddress("net.pipe://localhost/test"));
var proxy = client.ChannelFactory.CreateChannel();

proxy.Funktionsaufruf();
Console.ReadLine();


Nun soll der client in der Lage sein, durch einen Funktionsaufruf den Server zu beenden. Doch wie beende ich eine Anwendung aus einem Nebenprozess?

Environment.Exit(0) beendet nur den Service-Prozess, die Console wartet weiterhin auf Eingabe...

Viele Grüße & besten Dank!
Christian


Th69 - Mi 28.12.11 12:15

Hallo,

du mußt das Environment.Exit(0) natürlich aus deinem Prozess heraus auch ausführen.
Kannst du nicht einen 'Callback' aus dem Nebenprozess heraus aufrufen, den du dann von deinem Hauptprozess 'abonnierst' und dort dann Environment.Exit(0) aufrufst?
Ich kenne mich konkret nicht so mit WCF aus, aber das dient ja gerade zur Kommunikation zwischen verschiedenen Prozessen, oder?