WCF, Сильверлайт:Возможен ли запрос/ответ через PollingDuplexHttpBinding?

StackOverflow https://stackoverflow.com/questions/2551366

Вопрос

Мы использовали PollingDuplexHttpBinding какое-то время делать Pub/Sub обмен сообщениями.У нас есть методы, которые не возвращают результаты, которые позволяют клиентам подписаться на некоторый канал данных, а затем служба отправляет данные обратно через CallBack контракты.

Только что мы добавили несколько Request/Reply методы для нашего OperationContract.Поскольку клиентами являются Silverlight 3, эти методы вызываются с использованием async Begin() End() шаблон.Проблема в том, что мы не можем заставить это работать, используя PollingDuplexHttpBinding.Мы всегда получаем следующую ошибку (при использовании клиентского стека HTTP):

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

Используя стек браузера, мы получаем HTTP 500: Not Found.

При переключении на BasicHttpBinding тот Request/Reply методы называются совершенно нормально, но очевидно Pub/Sub методы нельзя использовать с этой привязкой.

Мы могли бы использовать две отдельные конечные точки для каждого типа сообщений, но предпочли бы этого не делать, и мне кажется странным, что привязка будет поддерживать только Pub/Sub шаблон (хотя это и есть мотивация для PollingDuplexHttpBinding).

Может ли кто-нибудь прояснить это для меня?Является ли это возможным?

Это было полезно?

Решение

Нам так и не удалось заставить это работать.Мы используем BasicHttpBinding для всех наших операций запроса/ответа между нашими приложениями Silverlight 4 и нашими службами WCF 4.Это все вызовы асинхронных методов (должны быть с Silverlight) для служб Per-Call.В нескольких ситуациях, когда нам необходимо выполнить отправку данных на сервер, у нас есть служба Sessionful WCF, поддерживающая соединение PollingDuplexHttpBinding с клиентом Silverlight, и мы используем контракты обратного вызова с односторонними методами для выполнения вызовов.

Никогда не мог заставить операции запроса/ответа работать с PollingDuplexHttpBinding, но так и не нашел авторитета по этому вопросу...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top