Может кто-нибудь объяснить мне, почему это происходит?
- Приложение Silverlight 4 с использованием WCF Ria Services
Приложение SL вызывает StartLongOperation
[Invoke]
операция.
Из-за проблем синхронизации с внешними компонентами в коде на стороне сервера Thread.Sleep(30 * 1000)
.
Приложение SL вызывает GetStatus
(стандартный запрос) операцию.
Эти вызовы, по-видимому, заблокированы на стороне сервера и ожидают завершения StartLongOperation
. Почему ??
Я предполагал, что на стороне сервера StartLongOperation
запускает рабочий поток, и каждый вызов GetStatus
будет выполняться в отдельном рабочем потоке. Клиентские вызовы являются асинхронными, поэтому SL запускает StartLongOperation
, а затем продолжает опрашивать GetStatus
. Но GetStatusCompleted
не будет уволен, пока StartLongOperation
не завершится.