WCF против WCF дуплекс против розеток - PullRequest
2 голосов
/ 11 марта 2011

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

Я в основномнеобходимо разработать систему сервер / клиент.Приложение «сервер» (консольное приложение c # net) будет запускаться на компьютере с базой данных MySQL, всеми установочными пакетами программного обеспечения и всем остальным, что нам нужно для него.«Клиентское» приложение (консольное приложение c # net) будет запущено на остальных наших машинах и будет поддерживать прямое соединение с серверным программным обеспечением.Используя веб-интерфейс, наши администраторы смогут устанавливать пакеты программного обеспечения для клиентов, создавать новые службы и т. Д.

Поскольку мы владеем всеми компьютерами и в любом случае должны их настраивать, Server Push являетсяне проблема.Нам не нужно беспокоиться о брандмауэрах или каких-либо настройках NAT, поскольку мы можем просто зайти и открыть порты, необходимые для его работы.

Что меня изначально смутило в WCF, так это в связи с тем, что я связал «Сервис WCF»."с сервером.Тем не менее, так как большинство операций на самом деле будут выполняться на «Сервисе WCF», это моя логика.

1) Сделать «клиентское» приложение фактически «Сервисом WCF», чтобы открытые функциина самом деле выполняются на правильных компьютерах.

2) У приложения "сервер" на самом деле "Клиент WCF", и выполните все инструкции / команды отсюда, и просто используйте возвращаемое значение для обновления базы данных./etc.

Будет ли это правильным методом, или я должен посмотреть на WCF Duplex (на первый взгляд выглядел очень запутанным) или просто начать с необработанных сокетов?

Ответы [ 2 ]

1 голос
/ 11 марта 2011

из того, что я собираю, вы пытаетесь сделать, вы правы.Это значит, что на клиентских машинах должен быть запущен «сервер» TCP / IP, а на центральном серверном компьютере будет «клиент» Tcp / IP.

Таким образом, клиент TCP / IP (приложениеработает на вашем сервере) может инициировать вызовы на каждом клиентском компьютере.

Имейте также в виду, что одно приложение может быть как клиентом, так и сервером tcp / ip.Таким образом, ваше приложение, работающее на сервере, может, в свою очередь, также быть tcp / ip-сервером, который ваш админ использует для работы с браузером.Что фактически означает, что служба является службой HTTP.

0 голосов
/ 11 марта 2011

Итак, это не клиент / сервер.Это компоновка распределенных вычислений.Я думаю, что WCF очень хорошо можно использовать.У вас есть несколько серверов и координатор (клиент для всех этих серверов), который выполняет работу с различных серверов и обновляет базу данных.

Так что WCF подходит для вас.Преимущество WCF заключается в простоте конфигурирования и обработки коммуникационной части.Вам не нужно много мучиться с управлением сокетами.

...