Страницы

Поиск по вопросам

среда, 13 марта 2019 г.

Как работать с общими данными в нескольких WCF сервисах?

Допустим у нас есть 2 WCF сервиса, которые хостятся на сервере:
Пользователь при входе в программу отправляет инфу на сервер что он зашел. Сервер хранит коллбэки всех пользователей которые сейчас в сети. Второй сервис дуплексный и он хочет просто отправить какие-то данные определенному пользователю, но для этого эму нужно получить коллбэк из первого сервиса.
Как правильно в данной ситуации нужно действовать?


Ответ

У дуплексных служб, колбеки от клиента прописываются в контракте. Когда клиент подключается, он передает свой контекст сервису и сервис получает через этот контекст доступ к колбекам клиента. Передача контекста между сервисами не предусмотрена, т.к. в зависимости от настроек сервиса создается отдельный инстанс сервиса на подключение или сессию для каждого клиента.
Если ваше приложение использует больше одного сервиса в своей работе, то оно обязано подключаться к каждому из них независимо, таким образом необходимости в передаче контекста между службами просто не может быть.

Комментариев нет:

Отправить комментарий