У нас есть приложение Silverlight 4, использующее IDuplexSessionChannel для отправки данных из приложения в службу WCF и из нее.
Я заметил, что при очень высоком использовании потока пользовательского интерфейса (например, при запуске приложения, когда пользовательский интерфейс строит сам) вызовы нашей службы WCF через IDuplexSessionChannel.BeginSend не отправляются, пока пользовательский интерфейс не завершит рендеринг.
Вызовы BeginSend выполняются в BackgroundWorker.
Фактическое выполнение BeginSend происходит в основном потоке? Я не смог найти ничего «официального», что это документирует.
Казалось бы, так как даже если у меня есть основной поток Sleep или WaitOne, сообщения по-прежнему не проходят (обратите внимание, это был просто тест).
Каков наилучший способ заставить эти звонки немедленно выходить?
Спасибо