Florian Rousselet

Passionné de Windows Phone

W8 – Requête HTTP

Introduction

Récemment pour un projet étudiant, j’ai décidé de me lancer sur Windows 8. Le développement Metro sous Windows 8 étant possible en XAML/C#, mes connaissances de Windows Phone 7 pourront être relativement applicables à ce nouvel environnement. J’essaierais donc de montrer les différences depuis Windows Phone et dans Windows 8.

 

Actuellement sur Windows Phone

Aujourd’hui, pour faire une requête HTTP vers un serveur distant, il fallait utiliser le WebClient de la sorte :

private void MaRequete()

{
WebClient _wb = new WebClient();
_wb.DownloadStringAsync(new Uri("http://bing.com",UriKindRelative));
_wb.DownloadStringCompleted += new DownloadStringCompletedEventHandler(ChargeBing);

}

private void ChargeBing(object sender, DownloadStringCompletedEventArgs e)

{

string reponse = e.Result;

}

On retrouve donc une initialisation de WebClient, et la réponse dans une seconde méthode.

Et avec Windows 8 ?

Maintenant avec Windows 8, le WebClient n’existe plus. Il faut dorénavant  utiliser le HttpClient. Le changement majeur est la gestion de l’asynchronisme via les deux mots clés « async » et « await ». Démonstration tout de suite !

private async void MaRequete()

{

HttpClient _client = new HttpClient();
string reponse = await _client.GetStringAsync("http://bing.com");

}

On retrouve donc ces deux mots clés, le async permet de définir la méthode actuelle comme asynchrone et le await permettra lui d’attendre dans la méthode la réponse de la requête.

C’est enfantin !  Il ne reste ensuite plus qu’à traiter le contenu de retour (XML, JSON etc..) de manière classique.

Un commentaire “W8 – Requête HTTP”

  1. Holy shniizt, this is so cool thank you.

    Commentaire by Bharat — 16 juin 2012 @ 10 h 16 min

Flux RSS des commentaires de cet article.

Désolé, les commentaires sont fermés pour le moment.