Я попытался задать вопрос разными способами, проверьте мой профиль на два других вопроса, объясняющих трудности, которые у меня были с подходами, которые я использовал для этого сценария. Я пропущу их здесь.Метод обратного вызова WCF для клиента с возвращаемым значением
Мне просто нужен пример (предпочтительный C#) сервера, который обращается к клиенту (через канал nettcp), клиент вычисляет ответ и возвращает результат.
- Поток вызовов сервера блокируется до тех пор, пока клиент не отправит ответ.
- Обратный вызов сервера запрашивается каким-либо событием, например, таймером, а не вызовом клиента.
- Клиенту не нужно возвращаться на сервер в контексте обратного вызова сервера, поэтому не должно быть проблем с блокировкой.
- клиент может принимать (и для этого упражнения, следует принять) один или несколько параметров, с помощью которых, чтобы выполнить расчет
- Клиент может вернуться (и для этого упражнения, должен возвращать) непустое результат
- Используемый подход должен по крайней мере быть совместимым, если не реализованным, с возможностью обработки нескольких клиентов по очереди, включая функциональность subscribe() и unsubscribe().
- Это не домашнее задание, это пример того, как создать сервер подписчиков/издателей на основе WCF, который поддерживает (несколько) доверенных клиентов с низкой задержкой между сервером и клиентом без опроса и без металирования сообщений (по сравнению с забор)
- Я специально НЕ интересуюсь решениями, которые включают
(IsOneWay = true)
, если не станет ясно, что я очень смущен его значением и его последствиями.
Спасибо!
Легче описать IsOneWay = false, чем сделать. –
В чем проблема при не указании атрибута IsOneWay для контракта обратного вызова? – VinayC
Это не работает, насколько я пробовал. [См. Мой пример здесь] (http://stackoverflow.com/questions/3392123/wcf-duplex-callback-sample-failing). Работает ли это для вас? –