La class WebClient non esiste in Windows 8

Voglio utilizzare un servizio web HTTP e ho già sviluppato un’app per wp7.

Io uso la class WebClient, ma non posso usarla per Windows 8 (“errore: tipo o spazio dei nomi non può essere trovato”).

Cos’altro posso usare?

Puoi fornirmi un campione di codice?

Microsoft ha un sito per aiutare quando uno spazio dei nomi non esiste?

Opzione 1: HttpClient se non hai bisogno di notifiche di progresso deterministico questo è quello che vuoi usare. Esempio.

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

Opzione 2: quando hai bisogno di notifiche sui progressi puoi usare DownloadOperation o BackgroundDownloader . Questo esempio su MSDN è un buon inizio.

Opzione 3: poiché hai menzionato il servizio web e se restituisci XML puoi usare XmlDocument.LoadFromUriAsync che ti restituirà un documento XML. Esempio

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

Quando si sta sviluppando per la metropolitana .Net framework sarà limitato rispetto alla versione desktop. Se vedi che lo spazio dei nomi non trova errori, di solito è dovuto a questo fatto. Questo collegamento sul MSDN ha l’elenco degli spazi dei nomi, le classi disponibili per la metropolitana.