MetroStyleApp入門 vol5.HTTP通信

水曜日 , 4, 4月 2012 Leave a comment

 Vol4まではファイル(主に画像)の操作を紹介してきましたが、今回から数回Webリクエストを投げてサーバーからデータを取ってくる方法について紹介していきたい。

 簡単なHTTP通信サンプル

 

                    // 外部通信先URL
                    String uri_str = "http://hoge.com";
                    System.Uri uri = new Uri(uri_str);

                    HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(uri);
                    Request.Method = "POST";

                    // ここでもawait大活躍、非同期処理をあたかも同期処理のように記述できる
                    HttpWebResponse Response = (HttpWebResponse)await Request.GetResponseAsync();
                    StreamReader ResponseDataStream = new StreamReader(Response.GetResponseStream());
                    var result = ResponseDataStream.ReadToEnd();
                    
                    // 取得したデータがXMLでくる想定
                    // 取得したデータをLINQでごにょごにょする
                    var doc = System.Xml.Linq.XElement.Parse(result);

上記はhoge.comにアクセスしてXMLデータを取ってくるコードです。

var resultに通信結果が入ります。

 

 

これまで別メソッドやラムダ式で書いていた通信結果取得部分がawaitのおかげですっきり記述できています。

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です