Прогресс сервера в службах RIA WCF

#.net #wcf-ria-services

#.net #wcf-ria-services

Вопрос:

Могу ли я отправлять обновления о ходе выполнения с сервера клиенту при использовании трудоемких служб wcf ria?

Ответ №1:

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

Тем не менее, вы можете либо использовать HttpPollingDuplex и использовать такой обратный вызов для уведомления вашего клиента, либо вы можете просто регулярно опрашивать сервер, чтобы получить текущее состояние операции.

Имейте в виду, что переменная сервера, которая содержит состояние, в идеале должна храниться в ASP.NET Сеанс и в конечном итоге доступ к нему осуществляется в блоке блокировки, потому что вы записываете его из потока и считываете из другого

Надеюсь, это поможет

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

1. Нужен ли вам блок блокировки, если все, к чему обращаются из другого потока, — это переменная, которая устанавливается (а не получается) только из потоков, не участвующих в опросе?