В настоящее время я работаю с приложением Silverlight 5, которое поддерживает двустороннюю связь между собой и JavaScript.Приложение Silverlight отвечает за рендеринг 3D-контента, а JavaScript - за сбор и подготовку данных для рендеринга.
Проблема, с которой я столкнулся, заключается в том, что DrawingSurface Silverlight 5 перерисовывается только после того, как DrawingSurfaceстановится недействительным, и приложение становится бездействующим.К сожалению, при загрузке данных, которые мне требуются, с сервера с использованием асинхронных запросов AJAX, DrawingSurface не перерисовывается, пока не будут загружены все данные (несмотря на аннулирование DrawingSurface после загрузки каждого фрагмента данных).
Я понимаю это, но меня смущает то, что когда я выполняю точно такой же стиль асинхронных запросов на загрузку с использованием WebClient в Silverlight, DrawingSurface успешно перерисовывается после большинства вызовов аннулирования.
ПервоначальноЯ думал, что это может быть связано с какой-то проблемой с потоками, но все вызовы (и обратные вызовы) работают в одном потоке.Я попытался использовать как AQAX API jQuery, так и написать свой собственный обработчик XmlHttpRequest на JavaScript;но я получаю одинаковый результат в обоих направлениях.Первоначально я заметил, что jQuery возвращал данные в том же порядке, в котором я их запрашивал (тогда как в Silverlight WebClient этого не было), что и привело меня к созданию моего собственного обработчика XmlHttpRequest, так как я думал, что переупорядочение могло вызвать скриптоставаться активным во время асинхронных вызовов.
Кто-нибудь имел эту проблему раньше и / или у кого-нибудь есть предложения по обходным путям / исправлениям?