在C#中进行进程间通信的最简单方法是什么?
我有两个C#应用程序,我希望其中一个发送两个整数到另一个(这不一定很快,因为它每隔几秒只调用一次)。
最简单的方法是什么? (它不一定是最优雅的。)
最简单,最可靠的方式几乎可以肯定是IpcChannel (又名Inter Process Communication Channel); 这就是它的用途。 您可以使用几行代码和配置来启动和运行它。
您可以尝试.NET Remoting。 这是一个简单的例子: CodeProject .NET Remoting 。
如果您使用的是.NET 3.5,那么您应该选择WCF,因为Remoting正在逐渐过时。 同样, WCF还有很多例子 。
我已经创建了自己的开源库,用于快速简便的IPC,可以在Windows服务,控制台应用程序和Windows窗体之间工作。
它具有优于现有IPC实现的一些优点,并且不需要任何配置。
看到这里 。
我会说让他们通过套接字说话。
让一个程序listen
套接字并让另一个程序connect
到第一个套接字。 将两个整数发送到一行,作为数字串。
唯一的问题是他们应该如何就港口号码达成一致,以及他们如何知道他们正在互相交谈。 他们可以通过你决定他们应该总是使用端口12345(比如说)来同意端口号码,而第二部分的脏兮兮的解决办法就是只相信你和谁说话是个好人。
另一种方法是模仿命名管道。 在某处声明一个文件,并从中读取/写入它。
或者,如果程序按顺序执行,你可以尝试剪贴板……但是这个解决方案很丑陋而且有问题(有时.NET无法无缘无故地访问剪贴板)。
Mutex
可以是一种选择;请阅读: 使用.NET 2.0的进程间数据交换
为了完整net.pipe
,您还可以使用net.pipe
和WCF
。
上述就是C#学习教程:在C#中进行进程间通信的最简单方法是什么?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/955302.html