开发者

C# IPC Recommendations and comparisons

开发者 https://www.devze.com 2023-01-09 20:30 出处:网络
I\'ve been working in .net for a few years, and this is my first foray into IPC.I know of the various possibilities for doing IPC (Named Pipes, Remoting, Clipboard Managment, Win32API messaging), but

I've been working in .net for a few years, and this is my first foray into IPC. I know of the various possibilities for doing IPC (Named Pipes, Remoting, Clipboard Managment, Win32API messaging), but I don't know whats "right for me". I plan on using the following setup:

Site Object: This is the reason the ipc is needed. It will be a single object representing a collection of files on a remote machine (may be local, might be truly remote).

Server: The server.exe process will monitor the file system mentioned above, and update the Site Object This process will then keep any\all clients connected to the server updated, giving out new copies of the Site object at regular intervals (Either from client forced updates, or server automatic updates).

Client: Needs to be regularly updated about the "Site". It also wants to have the ability to modify the Site object (or at least send messages to the server asking it to make specific modifications.

TL;DR version: Singleton instance on the server (wh开发者_如何学Goich will actively modify the singleton), with multiple clients monitoring the singleton. The client can change (or request the server to change) the singleton.

Notes: All .net, no mixing of platforms. I've looked into Remoting, but it seemed out of context for the application I'd like to to have (or I didn't understand it fully).

I'm not sure if these is better fit for a community wiki or not, feel free to jerk it around.

Thanks


.NET Remoting is just the feature of .NET 2.0 - a set of techniques and libraries that simplifies the usage of common inter-process commutication ways (Named pipes, network sockets, HTTP post/get queries)

In .NET 3.0 it is WCF.

So the lyrics, as for you: use TCP sockets between machines on the secured LAN, use HTTP (Soap, WebMethods, or just HTTP) on the Internet and IPC on one machine to communicate processes (client and server) The platform you choose (.NET 2.0 Remoting or .NET 3.0 WCF) - it's up to you.

P.S.: I use .NET 2.0 Remoting framework still.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号