Служба WCF, использующая PollingDuplex, но также имеющая стандартный метод без обратных вызовов

Я не уверен, что я на правильном пути, но это то, что я пытаюсь сделать, у меня есть приложение Silverlight и служба WCF, приложение Silverlight "подписывается" на службу WCF с помощью PollingDuplex, и служба может отправить данные любым подключенным клиентам, которые работают.

Служба помечена как [ServiceContract(CallbackContract = typeof(IServiceCallback))] и является единичным экземпляром

Проблема в том, что существует другая служба, которая должна иметь возможность вызывать стандартный метод для этой службы, чтобы передавать ей данные, которые будут распределены среди подключенных клиентов Silverlight, но из-за вышеуказанных настроек требуется использование обратных вызовов (я не могу поменяй другой сервис).

Есть ли способ иметь оба типа операций, обратный вызов и стандарт в одном сервисе, если это имеет смысл?

Спасибо за ваше время

1 ответ

Решение

Да. Это возможно. Я предполагаю, что параметр CallbackContract не помешает вам использовать ваш сервис в качестве обычного сервиса запросов / ответов (хотя я не пробовал его).

Но для одного и того же контракта вам может потребоваться определить две конечные точки с разными привязками, одну с PollingDuplexHttpBinding, а другую с basicHttpBinding (с silverlight это единственный другой вариант).

Вы должны убедиться, что вы вызываете правильную операцию с клиентов, используя дуплексные и базовые http-привязки.

Другие вопросы по тегам