Служба WCF, использующая PollingDuplex, но также имеющая стандартный метод без обратных вызовов
Я не уверен, что я на правильном пути, но это то, что я пытаюсь сделать, у меня есть приложение Silverlight и служба WCF, приложение Silverlight "подписывается" на службу WCF с помощью PollingDuplex, и служба может отправить данные любым подключенным клиентам, которые работают.
Служба помечена как [ServiceContract(CallbackContract = typeof(IServiceCallback))] и является единичным экземпляром
Проблема в том, что существует другая служба, которая должна иметь возможность вызывать стандартный метод для этой службы, чтобы передавать ей данные, которые будут распределены среди подключенных клиентов Silverlight, но из-за вышеуказанных настроек требуется использование обратных вызовов (я не могу поменяй другой сервис).
Есть ли способ иметь оба типа операций, обратный вызов и стандарт в одном сервисе, если это имеет смысл?
Спасибо за ваше время
1 ответ
Да. Это возможно. Я предполагаю, что параметр CallbackContract не помешает вам использовать ваш сервис в качестве обычного сервиса запросов / ответов (хотя я не пробовал его).
Но для одного и того же контракта вам может потребоваться определить две конечные точки с разными привязками, одну с PollingDuplexHttpBinding, а другую с basicHttpBinding (с silverlight это единственный другой вариант).
Вы должны убедиться, что вы вызываете правильную операцию с клиентов, используя дуплексные и базовые http-привязки.