Frage

Ich habe vor einiger Zeit IPC im Win32-Code verwendet.[Kritische Abschnitte, Ereignisse und Signalzeichen]

Wie ist die Szene in der .NET-Umgebung?Gibt es ein Tutorial, das alle verfügbaren Optionen erklärt und erklärt, wann und warum sie zu verwenden sind?

War es hilfreich?

Lösung

Die neuesten Microsoft-Sachen in der IPC ist Windows Communication Foundation . Eigentlich gibt es nichts Neues in der unteren Ebene (tcp, upd, Named Pipes usw.), aber WCF vereinfacht IPC Entwicklung stark.

Nützliche Ressource:

und natürlich MSDN auf WCF

Andere Tipps

Abgesehen von der offensichtlichen (WCF), wird die Bindung ein ZeroMQ für C # / CLR was ziemlich gut ist:

http://www.zeromq.org/bindings:clr

Ist Message-oriented IPC, pub / sub und verschiedene andere Strategien mit viel weniger Code und Konfiguration als WCF.

Es ist auch mindestens eine Größenordnung schneller als alles andere und weniger Latenz, wenn Sie mit niedriger Latenz Comms benötigen.

Mit Hinsicht auf Semaphore, Schlösser, Mutexe etc. Wenn Sie teilen, indem sie die Kommunikation nicht durch Austausch zu kommunizieren, werden Sie eine ganze Menge weniger Aufwand haben als das traditionelle Paradigma.

Ich neige dazu, Named Pipes oder Unix-Sockets zu verwenden (je nachdem, ob ich MS.NET oder Mono bin Targeting - Ich habe eine Klasse, die es weg abstrahiert), da es einfach zu bedienen, tragbar und ermöglicht es mir leicht zu interagieren mit nicht verwalteten Code. Das heißt, wenn Sie nur mit verwaltetem Code zu tun, gehen Sie mit WCF oder Remoting -. Letztere, wenn Sie Mono Unterstützung benötigen, da ihre WCF-Unterstützung ist einfach noch nicht da

würde ich empfehlen, Speicher mit Mapped-Dateien, wenn Sie auf der Maschine Domain über das Netzwerk keine Kommunikation verwenden müssen. Siehe den folgenden Link.

http: // techmikael.blogspot.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

Es gibt auch .NET Remoting, die ich ziemlich cool gefunden, aber ich denke, sie es jetzt sind obsoleting, dass sie WCF.

Es klingt, als ob Sie in Synchronisierungstechniken interessiert sind, anstatt Kommunikation. Wenn ja, könnten Sie anfangen hier , oder vielleicht ist dies mehr prägnanten Überblick .

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