What is the best choice for .NET inter-process communication?


Should I use Named Pipes, or .NET Remoting to communicate with a running process on my machine?

2/25/2014 3:45:36 PM

Accepted Answer

WCF is the best choice. It supports a number of different transport mechanisms (including Named Pipes) and can be completely configuration driven. I would highly recommend that you take a look at WCF.

Here is a blog that does a WCF vs Remoting performance comparison.

A quote from the blog:

The WCF and .NET Remoting are really comparable in performance. The differences are so small (measuring client latency) that it does not matter which one is a bit faster. WCF though has much better server throughput than .NET Remoting. If I would start completely new project I would chose the WCF. Anyway the WCF does much more than Remoting and for all those features I love it.

MSDN Section for WCF

8/14/2009 5:31:32 PM

If it's on a single machine, Named Pipes gives you better performance and can be implemented with the remoting infrastructure as well as WCF. Or you can just directly use System.IO.Pipes.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow