2017-11-18 8 views
0

webserviceから1つの簡単な文章を受け取ろうとしていますが、何か問題があります。xamarinアンドロイドはwebserviceから1つの簡単な文章/文字列を受け取ります

これは、Webサービスからの要求に私の非同期タスクです:

private async Task<string> GetData (string url) 
    { 
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create (new Uri(url)); 
     request.ContentType = "text/plain"; 
     request.Method = "GET"; 

     using (WebResponse response = await request.GetResponseAsync()) 
     { 
      using (Stream stream = response.GetResponseStream()) 
      { 
       string doc = await Task.Run(() => stream.ToString()); 
       return doc; 
      } 
     } 

    } 

そして、これは私のボタンです:私は私のTextViewとドンにのみ「System.Net.WebConnectionStream」を取得

cmd02.Click += async (sender, e) => { 
      string sentence = await GetData(url); 
      txt01.Text = sentence; 
     }; 

私はどの機能を使うべきかを知っています。あるいは何かが間違っているのでしょうか?

多分誰かがアイデアを持っていますか?

答えて

1
public static async Task<string> SendGetRequestAsync (string url) { 

      string responseString = ""; 
      HttpWebRequest request = (HttpWebRequest)WebRequest.Create (url); 
      request.Method = WebRequestMethods.Http.Get; 
      HttpWebResponse response; 

      await Task.Run (() => { 
       try { 
        response = request.GetResponse() as HttpWebResponse; 
        using (var reader = new StreamReader (response.GetResponseStream())) { 
         responseString = reader.ReadToEnd(); 
        } 
       } catch (WebException ex) { 

        Console.WriteLine (ex); 
       } 
      }); 

      return responseString; 
     } 
+0

ありがとうございます。これは完全に機能します。 –

関連する問題