Загрузка данных через WebRequst при запуске

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

Я использую WindowsPhone и C#.

Проблема, с которой я столкнулся, заключается в том, что все методы типа WebRequest.BeginGetResponse являются асинхронными, но когда я блокирую свой основной поток для ожидания результата, кажется, что "асинхронный" метод заблокирован.

Есть ли простой способ дождаться результата? Может быть, API, который позволяет лучше контролировать загрузку файлов из Интернета?

1 ответ

Решение

Исходя из вашего ответа в комментарии выше, я бы порекомендовал следующее:

  • Покажите свой экран-заставку, если он у вас есть, затем экран загрузки.
  • Не блокируйте поток пользовательского интерфейса по трем причинам:

    • Вам не нужно
    • Вам нужен поток пользовательского интерфейса, чтобы вы могли показывать неопределенный прогресс или какой-либо другой тип анимации загрузки
    • Windows Phone убьет ваше приложение, если поток пользовательского интерфейса заблокирован на определенное время
  • После того, как вы загрузили экран загрузки, запустите BeginGetResponse.

  • После завершения EndGetResponse сделайте то, что вам нужно, а затем перейдите на главную страницу приложения.

Удачи!

Другие вопросы по тегам