Выполнить функцию клиента с сервера - PullRequest
1 голос
/ 08 марта 2011

Изучив WCF, я не верю, что он может делать то, что мне нужно.Как можно (если у меня есть серверное и клиентское приложение, оба приложения C # .NET Console), чтобы в основном указывать клиенту на выполнение функций?

Например, если клиентское приложение имеет такие функции, как DownloadFTPFile(), CreateWindowsService (), IsServiceRunning () и т. Д., Каков будет стандартный подход к тому, чтобы сказать им выполнить это от клиента?

Сначала я просто хотел, чтобы клиент интерпретировал сообщения, отправленные с сервера, например "downloadfile ftp: //filename.zip", но мне интересно, есть ли лучший способ.

Ответы [ 3 ]

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

Это возможно.

Используйте функции обратного вызова вместе с дуплексами в WCF.Вы будете ограничены использованием интрасети или лазурью, поскольку только NetTcpBinding и NetTcpRelayBinding поддерживают ее (WsHttpBinding устарела).

1 голос
/ 08 марта 2011
  • Клиент имеет агента.
  • Агент подключается к серверу, опрашивает cmomands
  • Agend выполняет команды.

Отправка на сервер сложно, если выконтролировать окружающую среду.NAT, например, превращает «клиент посылает» в кошмар.Затем вы также открываете клиент для дополнительных атак, когда клиент опрашивает у брандмауэра Clietn нет открытого внешнего доступа к агенту.

0 голосов
/ 05 октября 2011

С WCF любой клиент может самостоятельно разместить службу WCF. Это может сделать клиента сервисом . Добавьте немного дополнительного протокола между клиентом и службой, и вы получите свое желание.

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