Frage

Ich habe eine .NET 3.0-Anwendung, die eine ganze Zahl auf ein anderes Programm auf der gleichen Maschine passieren muss. Ich war einen WCF-Dienst verwenden, dies zu tun, sondern lief in Fragen Benutzerrechte, wenn auf dem lokalen Feld HOSTING den Dienst zu versuchen. Irgendwelche Gedanken darüber, wie dies zu erreichen woudld sehr geschätzt.

Danke,

Dave

War es hilfreich?

Lösung

WCF immer noch der Weg ist hier zu gehen.

Im Allgemeinen sind für die Kommunikation zwischen Prozessen auf der gleichen Maschine, würden Sie die Named Pipe-Kanal verwenden. Wenn Sie dies nicht verwenden, ich schlage vor, Sie tun und dann bestimmen, was der Fehler in Hosting ist.

Wenn beiden Programme Nachricht Schleifen haben, die verarbeitet werden, und Sie eine ganze Zahl senden, könnten Sie einen Aufruf von Sendmessage durch die P verwenden / Invoke Schicht als auch, aber das ist nur, weil Sie Daten senden, die gleich oder Sendmessage kleiner als das, was ermöglichen wird. Größere Nachrichten werden so etwas wie WCF erfordern.

Andere Tipps

.NET Remoting ist ein Weg, passieren Nachrichten zwischen Programmen.

Wie wurden Hosting Sie? Beachten Sie, dass ein Nicht-Admin-Programm mit http Berechtigungen benötigen Sie den Port (in http.sys) zu verwenden. Dies ist über netsh (Vista) oder (IIRC) httpcfg (XP).

Siehe hier , zum Beispiel.

WCF ist der Weg zu gehen. Sie sollten verwenden NetNamedPipeBinding in derselben Maschine-Kommunikation zu sichern.
Mehr über WCFBindings https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top