2012-06-26 3 views
0

Возможно ли запустить событие из службы подключенным клиентам без запроса от клиента? (Я знаю, если я использую запрос клиента, я мог бы использовать обратный вызов)Служба WCF сама запускает событие

Я хранил объект в службе с некоторым фактическим состоянием. Состояние этого объекта может меняться очень часто. Первый способ: я могу отправлять запрос на эту услугу каждую секунду, но я полагаю, что они лучше.

Я думал о событии, вызванном wcfservice - возможно?

+2

Посмотрите на этот вопрос: http://stackoverflow.com/q/1006058/941243 – Chris

ответ

2

Хорошо, что в WCF есть обратный вызов, я предполагаю, что вы просите. http://msdn.microsoft.com/en-us/magazine/cc163537.aspx

+0

Разве это не CALL-BACK? И в этом случае нет CALL – Saint

+0

@Saint, который вы могли бы назвать «обратным вызовом» немного слишком буквально. Пока вы держите коллекцию подписчиков (т. Е. Ваших клиентов), вы всегда можете звонить им, даже если они не инициируют вызов. Это способ решения асинхронных сервисов. Вы можете заставить своих клиентов «инициировать» сеанс (http://www.remondo.net/managing-wcf-session-lifetime-isinitiating-isterminating/) таким образом, чтобы у вас был единственный метод, который вы можете использовать для добавления подписчиков к коллекции от. Затем, всякий раз, когда вы хотите транслировать, просто переходите через эту коллекцию подписчиков. – Thelonias