Migrando seu App do Windows Phone para o Windows 8 RC – WebClient
Escrito July 3rd, 2012 . Nenhum comentário .
Procurando o WebClient? Pois é, ele também não está presente no WinRT.
No Windows Phone podemos fazer chamadas web assim:
1 2 3 4 5 6 7 8 9 10 |
public void MakeWebRequest() { WebClient client = new WebClient(); client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); client.DownloadStringAsync(new Uri("http://www.bing.com")); } void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { string data = e.Result; // faça algo com os dados } |
No WinRT, temos que fazer uma chamada assíncrona usando os termos async e await, adicionados na última versão do .net. Fica assim:
1 2 3 4 5 |
public async Task<string> MakeWebRequestAsync() { HttpClient http = new System.Net.Http.HttpClient(); HttpResponseMessage response = await http.GetAsync("http://www.bing.com"); return await response.Content.ReadAsStringAsync(); } |
Bem menos código, né?
Se você ainda não aprendeu sobre sync/await, recomendo muito ir atrás, pois você vai ver este tipo de notação em várias partes do WinRT. A página da própria MSDN sobre o assunto é um excelente começo.