Крис прав, что код недействителен и не будет работать на WP7.Вот некоторый код, который должен был бы:
private void MyMethod()
{
//You'll want to execute this twice, one for each xml file
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
wc.OpenReadAsync("{Enter url of XML File}");
}
private void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
//Handle results here
//Also you'll want to disable ProgressBar to show that the download is complete
//Also you'll increment the counter that Chris suggested here
}
Как сказал Крис, все запросы асинхронны в Windows Phone 7, поэтому самый простой способ - создать переменную счетчика и увеличивать ее каждый раз, когда вызывается событие «OpenReadCompleted».,В то же время вы также отключите индикатор выполнения, чтобы показать, что загрузка завершена.Обработка ошибок, как вы сказали, также будет обрабатываться здесь, за исключением проверки сети.Возможно, вы захотите сделать это еще до того, как сделаете запрос.
Полный пример того, как читать XML-файлы (обычно rss или atom) из Интернета, можно найти в этом посте: Чтение элементов RSS вWindows Phone 7 .
ПРИМЕЧАНИЕ. Помните, что извлечение XML-файла из Интернета с помощью WebClient работает так же, как получение RSS-канала или атома.