我已经在.net工作了几年,这是我第一次涉足进程间通信。我知道进行进程间通信的各种可能性(命名管道、远程处理、剪贴板管理、Win32API消息传递),但我不知道哪种“适合我”。我计划使用以下设置:
Site对象:这就是需要ipc的原因。它将是代表远程机器上的文件集合的单个对象(可能是本地的,也可能是真正的远程的)。
服务器: server.exe进程将监视上面提到的文件系统,并更新Site对象。此过程将使连接到服务器的任何\所有客户端保持更新,定期提供Site对象的新副本(来自客户端强制更新或服务器自动更新)。
客户端:需要定期更新有关“网站”。它还希望能够修改Site对象(或者至少向服务器发送消息,要求其进行特定的修改。
TL;DR版本:服务器上的单例实例(会主动修改单例),多个客户端监控单例。客户端可以更改(或请求服务器更改)单例。
注:全.net,不混用平台。我研究过远程处理,但它似乎脱离了我想要的应用程序的上下文(或者我没有完全理解它)。
我不确定这些是不是更适合社区维基,你可以随意使用它。
谢谢
发布于 2010-07-29 19:18:18
.NET远程处理只是.NET 2.0的特性--一组技术和库,简化了常用进程间通信方式(命名管道、网络套接字、HTTP post/get查询)的使用
在WCF3.0中,它是.NET。
所以歌词,对你来说:在安全局域网上的机器之间使用TCP套接字,在互联网上使用HTTP (Soap,WebMethods,或者只是HTTP),在一台机器上使用IPC来通信进程(客户端和服务器)你选择的平台(.NET 2.0 Remoting或.NET 3.0WCF)-这取决于你。
附言:我仍然使用.NET 2.0远程处理框架。
https://stackoverflow.com/questions/3357223
复制相似问题