c# .net ipc

Mecanismos de IPC en C#- Uso y mejores prácticas



.net (6)

Aparte de lo obvio (WCF), hay un enlace ZeroMQ para C # / CLR, que es bastante bueno:

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

Tiene IPC orientado a mensajes, pub / sub y varias otras estrategias con mucho menos código y configuración que WCF.

También es al menos un orden de magnitud más rápido que cualquier otra cosa y tiene menos latencia si requiere comunicaciones de baja latencia.

Con respecto a semáforos, bloqueos, mutexes, etc. Si compartes comunicándote en lugar de comunicarte compartiendo, tendrás una carga completa menos complicada que el paradigma tradicional.

He usado IPC en el código de win32 hace un tiempo. [Secciones críticas, eventos y semáforos]

¿Cómo es la escena en el entorno .NET? ¿Hay algún tutorial que explique todas las opciones disponibles y cuándo usarlo y por qué?



Parece que le interesan las técnicas de sincronización en lugar de la comunicación. Si es así, le gustaría comenzar here , o quizás esta descripción más concisa .



También hay .NET Remoting, que encontré bastante genial, pero supongo que están obsoletos ahora que tienen WCF.


Tiendo a usar named pipes o sockets de Unix (dependiendo de si estoy apuntando a MS.NET o Mono - tengo una clase que lo abstrae) ya que es fácil de usar, portátil y me permite interactuar fácilmente con código no administrado . Dicho esto, si solo está tratando con el código administrado, vaya con WCF o de manera remota, este último si necesita soporte Mono, ya que su soporte WCF simplemente no está allí todavía.