Как правильно общаться между двумя или более приложениями .Net, работающими на одном компьютере, без использования веб-служб? - PullRequest
0 голосов
/ 04 мая 2010

Если мои приложения работают на одном и том же компьютере или даже на разных компьютерах в одной и той же локальной сети и требуют интенсивного и быстрого обмена данными, для меня нелогично использовать текстовые веб-службы и HTTP. Я мог бы использовать сокеты IP / TCP / UDP и придумать свои собственные протоколы, но считаю, что для приложений .Net существует стандартный способ отправки / получения экземпляров объекта (и, возможно, даже совместного использования объекта по ссылке?) Можете ли вы сказать мне, что это за стандартный путь? Меня интересуют только приложения .Net Framework 4, и мне не нужно поддерживать устаревшие фреймворки.

Ответы [ 5 ]

6 голосов
/ 04 мая 2010

Вы хотите использовать Windows Communication Foundation:
http://msdn.microsoft.com/en-us/magazine/cc163647.aspx

Еще одна ссылка на начало работы с WCF

Microsoft выбрала это в качестве предпочтительного способа связи для приложений .net. Он заменяет Remoting и веб-сервисы.

Самое замечательное в этом то, что вы можете переключаться на разные протоколы с небольшим объемом работы, поэтому, если один протокол вам не подходит, вы можете изменить конфигурацию, чтобы попробовать другой.

1 голос
/ 04 мая 2010

.Net 4 дает вам сопоставленный с памятью файл , который вы можете отправить обратно вместе с файлом подкачки и поделиться им по имени.

1 голос
/ 04 мая 2010

Возможно либо привязки WCF через NetTcp или NetNamedPipe, либо .NET Remoting.

0 голосов
/ 04 мая 2010

Одним словом: удаленное взаимодействие

http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx

Если производительность по-прежнему остается проблемой, TCP (или даже UDP в зависимости от требований) по-прежнему остается вашим другом.

0 голосов
/ 04 мая 2010

Если вы хотите поделиться объектами, то .NET Remoting, вероятно, является хорошим способом для достижения этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...