C#IPC建议和比较

时间:2010-07-28 20:29:33

标签: c# .net visual-c++ remoting ipc

我已经在.net工作了几年,这是我第一次涉足IPC。我知道做IPC(命名管道,远程处理,剪贴板管理,Win32API消息传递)的各种可能性,但我不知道什么是“适合我”。我计划使用以下设置:

Site Object:这就是需要ipc的原因。它将是一个表示远程计算机上文件集合的单个对象(可能是本地的,可能是真正的远程)。

服务器:server.exe进程将监视上面提到的文件系统,并更新站点对象此过程将保持连接到服务器的所有客户端更新,定期发布站点对象的新副本(来自客户端强制更新或服务器自动更新。

客户:需要定期更新“网站”。它还希望能够修改Site对象(或者至少向服务器发送消息,要求它进行特定的修改。

TL; DR版本:服务器上的Singleton实例(将主动修改单例),多个客户端监视单例。客户端可以更改(或请求服务器更改)单例。

注意:所有.net,没有混合平台。我已经研究了远程处理,但它似乎与我想要的应用程序不相关(或者我完全不了解它)。

我不确定这些是否更适合社区wiki,随时可以随意使用。

由于

1 个答案:

答案 0 :(得分:3)

.NET Remoting只是.NET 2.0的一个特性 - 一组技术和库,简化了常见的进程间通信方式(命名管道,网络套接字,HTTP post / get查询)的使用

在.NET 3.0中,它是WCF。

所以歌词,就像你一样:在安全局域网上的机器之间使用TCP套接字,在Internet上使用HTTP(Soap,WebMethods,或者只是HTTP),在一台机器上使用IPC来交流进程(客户端和服务器) 您选择的平台(.NET 2.0 Remoting或.NET 3.0 WCF) - 取决于您。

P.S。:我仍然使用.NET 2.0 Remoting框架。