Загрузка данных через WebRequst при запуске
Я хочу загружать данные из Интернета, когда мое приложение запускается, и фактически ждать данных, потому что данные будут влиять на внешний вид приложений.
Я использую WindowsPhone и C#.
Проблема, с которой я столкнулся, заключается в том, что все методы типа WebRequest.BeginGetResponse являются асинхронными, но когда я блокирую свой основной поток для ожидания результата, кажется, что "асинхронный" метод заблокирован.
Есть ли простой способ дождаться результата? Может быть, API, который позволяет лучше контролировать загрузку файлов из Интернета?
1 ответ
Исходя из вашего ответа в комментарии выше, я бы порекомендовал следующее:
- Покажите свой экран-заставку, если он у вас есть, затем экран загрузки.
Не блокируйте поток пользовательского интерфейса по трем причинам:
- Вам не нужно
- Вам нужен поток пользовательского интерфейса, чтобы вы могли показывать неопределенный прогресс или какой-либо другой тип анимации загрузки
- Windows Phone убьет ваше приложение, если поток пользовательского интерфейса заблокирован на определенное время
После того, как вы загрузили экран загрузки, запустите BeginGetResponse.
- После завершения EndGetResponse сделайте то, что вам нужно, а затем перейдите на главную страницу приложения.
Удачи!