Класс WebClient не существует в Windows 8 - программирование
Подтвердить что ты не робот

Класс WebClient не существует в Windows 8

Я хочу использовать веб-сервис HTTP, и я уже разработал приложение для wp7.

Я использую класс WebClient, но я не могу использовать его для Windows 8 ( "ошибка: тип или пространство имен не могут быть найдены" ).

Что еще я могу использовать?

Можете ли вы предоставить мне образец кода?

Поддерживает ли Microsoft сайт, чтобы помочь, когда пространство имен не существует?

4b9b3361

Ответ 1

Вариант 1: HttpClient, если вам не требуется детерминированное уведомление о прогрессе, это то, что вы хотите использовать. Пример.

public async Task<string> MakeWebRequest()
{
       HttpClient http = new System.Net.Http.HttpClient();
       HttpResponseMessage response = await http.GetAsync("http://www.example.com");
       return await response.Content.ReadAsStringAsync();
}

Вариант 2. Когда вам понадобятся уведомления о ходе работы, вы можете использовать DownloadOperation или BackgroundDownloader. Это sample в MSDN - хорошее начало.

Вариант 3. Поскольку вы упомянули веб-службу и если она возвращает XML, вы можете использовать XmlDocument.LoadFromUriAsync, который вернет вам XML-документ, Пример

public async void DownloadXMLDocument()
{
      Uri uri = new Uri("http://example.com/sample.xml");
      XmlDocument xmlDocument = await XmlDocument.LoadFromUriAsync(uri);
      //do something with the xmlDocument.
}

Когда вы разрабатываете для Metro инфраструктуру .Net, будет ограничена по сравнению с настольной версией. Если вы видите, что ошибка имени не найдена, это обычно связано с этим фактом. Эта ссылка в MSDN содержит список пространств имен, классов, доступных для метро.