Pregunta

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

Cómo es la escena .NETO medio ambiente?¿Hay algún tutorial que explica todas las opciones disponibles y cuándo usar y por qué?

¿Fue útil?

Solución

Más reciente de Microsoft cosas en el CIP Windows Communication Foundation.En realidad no hay nada nuevo en el nivel inferior (tcp, upd, canalizaciones, etc) Pero WCF simplifica el IPC de desarrollo en gran medida.

Recurso útil:

y, por supuesto, MSDN en WCF

Otros consejos

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

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

¿Orientada a mensajes IPC, pub/sub y varias otras estrategias con mucho menos código y la configuración de WCF.

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

Con respectos a los semáforos, los bloqueos, los mutexes, etc.Si usted comparta la comunicación en lugar de comunicarse por compartir, usted tendrá un montón menos problemas que el paradigma tradicional.

Yo tiendo a usar las canalizaciones o Unix sockets (dependiendo de si estoy targetting MS.NET o Mono-tengo una clase que abstrae lejos), ya que es fácil de usar, portátil, y me permite interoperar fácilmente con código no administrado.Dicho esto, si sólo estás tratando con código administrado, ir con WCF o remoting-el último si usted necesita Mono de apoyo, ya que su compatibilidad WCF simplemente no está allí todavía.

Me gustaría recomendar el uso de los Archivos Asignados en Memoria si usted necesita para utilizar en el dominio de la máquina no comunicación a través de la red.Ver el siguiente enlace.

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

También hay .NET Remoting, que he encontrado muy bien, pero supongo que se obsoleting ahora que han de WCF.

Suena como si usted está interesado en técnicas de sincronización en lugar de la comunicación.Si es así, usted podría comenzar a aquí, o tal vez esta más visión general concisa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top