Я использую канал WCF PollingDuplexHttpBinding для отправки уведомлений клиентам Silverlight. По большей части это работает хорошо, но я борюсь за то, чтобы несколько основных функций управления сеансом работали правильно.
Самая большая проблема, с которой я столкнулся, — это попытка сообщить серверу, что клиент завершил сеанс и больше не требует никаких уведомлений. Вызов CloseAsync на клиенте останавливает клиентскую сторону канала от отправки запросов на новые уведомления только для этого сеанса, а также отправляет запрос SOAP CloseSession на сервер. Проблема заключается в том, что серверная сторона канала отправляет обратно ошибку 404, говоря, что не распознает действие CloseSession. Насколько я вижу, эта ошибка связана с внутренними компонентами канала PollingDuplexHttpBinding и не доходит до приложения, чтобы можно было должным образом позаботиться о закрытии сеанса.
Кто-нибудь еще сталкивался с этой проблемой и, возможно, нашел способ ее обойти?