C # IPC Рекомендации и сравнения - PullRequest
1 голос
/ 29 июля 2010

Я работаю в .net несколько лет, и это мой первый набег в IPC.Я знаю о различных возможностях IPC (именованные каналы, удаленное взаимодействие, управление буфером обмена, обмен сообщениями Win32API), но я не знаю, что «подходит для меня».Я планирую использовать следующую настройку:

Объект объекта: по этой причине необходим ipc.Это будет один объект, представляющий коллекцию файлов на удаленном компьютере (может быть локальным, может быть действительно удаленным).

Сервер: Процесс server.exe будет отслеживать файловую систему, упомянутую выше, и обновлятьОбъект сайта Этот процесс будет поддерживать все \ все клиенты, подключенные к серверу, обновленными, регулярно выдавая новые копии объекта Сайт (либо из принудительных обновлений клиента, либо из-за автоматических обновлений сервера).

Клиент: Требуетсярегулярно обновляться о «Сайте».Он также хочет иметь возможность изменять объект Site (или, по крайней мере, отправлять на сервер сообщения с просьбой внести определенные изменения.

TL; DR версия: экземпляр Singleton на сервере (который будет активно изменятьсинглтон), с несколькими клиентами, отслеживающими синглтон. Клиент может изменить (или запросить сервер изменить) синглтон.

Примечания: все .net, без смешивания платформ.оно выглядело вне контекста для приложения, которое я хотел бы иметь (или я не понял его полностью).

Я не уверен, подходят ли они для вики сообщества или нет, чувствуюсвободно дергать.

Спасибо

1 Ответ

3 голосов
/ 29 июля 2010

.NET Remoting - это просто особенность .NET 2.0 - набора методов и библиотек, которые упрощают использование общих способов межпроцессного взаимодействия (именованные каналы, сетевые сокеты, HTTP-запросы post / get)

В .NET 3.0 это WCF.

Итак, текст для вас: используйте TCP-сокеты между машинами в защищенной локальной сети, используйте HTTP (Soap, WebMethods или просто HTTP) в Интернете и IPC на одном компьютере для взаимодействия процессов (клиент и сервер) Платформа, которую вы выбираете (.NET 2.0 Remoting или .NET 3.0 WCF) - решать только вам.

P.S .: Я все еще использую .NET 2.0 Remoting framework.

...