 <p><a href="https://en.wikipedia.org/wiki/Apache_Thrift" rel="nofollow">Apache Thrift</a> was designed to communicate with high efficiency. It was developed by Facebook (now open source), and an implementation is <a href="https://thrift.apache.org/lib/csharp" rel="nofollow">available for C#</a>.</p> <p><a href="https://developers.google.com/protocol-buffers/" rel="nofollow">Google developed</a> the highly efficient <a href="https://en.wikipedia.org/wiki/Protocol_Buffers" rel="nofollow">protocol buffers</a> serialization mechanism. Protocol buffers does not include RPC (remote procedure call) but can be used to send data over a variety of transport mechanisms. It is also <a href="https://www.nuget.org/packages/protobuf-net/" rel="nofollow">available for C#</a> (project by SO's own Marc Gravell).</p>