Autor Beitrag
MrKnogge
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 76

Win XP, Win 7
Delphi 7 Prof, Delphi 2005 PE, C# (VS 2008)
BeitragVerfasst: Mi 28.12.11 02:42 
Hallo Zusammen,

ich hoste in einem Consolenprogramm einen WCF-Host.

ausblenden 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

_________________
MfG MrKnogge
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4247
Erhaltene Danke: 901

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: 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?