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?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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.
回答2:
There are several options available to you here. The most prominent though are
- .Net Remoting
- Windows Communication Foundation (WCF)
Both can be used for communication between processes on a remote or local machine.
回答3:
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.
回答4:
networkComms.net provides very general RPC functionality, see RPCExample.cs.
回答5:
Try Protobuffers
over Win32 RPC