13

I am working on two separate C# applications, and I'm trying to determine what is the best way to create a remote procedure call from one app to the other. Webservices are not necessary in this case because the applications will always run on the same machine (Windows OS). What types of RPC are available in C# and .net that I can use?

Dan Ling
  • 2,965
  • 2
  • 29
  • 43

5 Answers5

8

I would recommend WCF with NetNamedPipeBinding for interprocess communication. Here's an example.

There's also Remoting which has been around since .NET 1.0 but becoming obsolete in favor of WCF.

Darin Dimitrov
  • 1,023,142
  • 271
  • 3,287
  • 2,928
3

There are several options available to you here. The most prominent though are

Both can be used for communication between processes on a remote or local machine.

JaredPar
  • 733,204
  • 149
  • 1,241
  • 1,454
  • Second link is broken now. There seems to be only VB code sample in the first link, why? – jw_ Jan 10 '20 at 04:25
2

I would recommend .NET Remoting configured with IPC channels, in my opinion this is the fastest way of communication between applications running on the same PC.

Stefan P.
  • 9,489
  • 6
  • 29
  • 43
1

Try Protobuffers over Win32 RPC

tchelidze
  • 8,050
  • 1
  • 29
  • 49
0

networkComms.net provides very general RPC functionality, see RPCExample.cs.

MarcF
  • 3,169
  • 2
  • 30
  • 57