Typically, the fastest on the Windows side will be LRPC. Depending on your needs, WCF can be a real problem. We use Win64 LRPC + protobuffers to get about 40 times the data transfer speed from the web server to the background service. It just depends on your needs.
(see Benchmarking WCF versus protocol buffers + RpcLibrary )
protobuf-csharp-port has most of what you need to define the service and messages. Then, using protobuf-csharp-rpc to serialize messages through the Win32 LRPC transport layer .
Once you have finished defining the protocol in protobuffers, it is very simple. Creating a connection and proxy class requires only a few lines of code on the client / server.
Again, it all depends on what you are looking for; however, IMHO is currently not the best RPC architecture for the .NET Framework. Of course, I am biased in my opinion, but we have used variations of this since 2003, and it just works.
PS: If you are building a service from scratch, you can see my guide to Building a Windows Service Project Template . This will allow you to quickly and quickly start with logging, installation and verification at the command line.
source share