La classe WebClient n’existe pas dans Windows 8

Je souhaite utiliser un service Web HTTP et j’ai déjà développé une application pour wp7.

J’utilise la classe WebClient, mais je ne peux pas l’utiliser pour Windows 8 (“erreur: le type ou l’espace de noms est introuvable”).

Que puis-je utiliser?

Pouvez-vous me fournir un exemple de code?

Microsoft a-t-il un site pour aider lorsqu’un espace de noms n’existe pas?

Option 1: HttpClient si vous n’avez pas besoin de notification de progression déterministe, voici ce que vous souhaitez utiliser. Exemple.

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

Option 2: lorsque vous avez besoin de notifications de progression, vous pouvez utiliser DownloadOperation ou BackgroundDownloader . Cet exemple sur MSDN est un bon début.

Option 3: Puisque vous avez mentionné le service Web et qu’il renvoie XML, vous pouvez utiliser XmlDocument.LoadFromUriAsync qui vous renverra un document XML. Exemple

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

Lorsque vous développez pour le métro .Net Framework sera limité par rapport à la version de bureau. Si vous voyez une erreur d’espace de nom non trouvé, c’est généralement à cause de cela. Ce lien sur le MSDN contient la liste des espaces de noms, des classes disponibles pour le métro.