2016-05-26 4 views
-3

MVCアプリケーションからWebApi呼び出しをラップしようとしています。そこで以下の汎用メソッドを作成しました。awaitキーワードを使用する場所 - C#

public async Task<T> GetApi<T>(T model, string uri) where T : class 
{ 
     using (HttpClient httpClient = new HttpClient()) 
     { 
      httpClient.BaseAddress = new Uri(baseAPIURL); 
      httpClient.DefaultRequestHeaders.Accept.Clear(); 
      httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
      var response = httpClient.GetAsync(uri).Result; 

      if (response.IsSuccessStatusCode) 
      { 
       return response.Content.ReadAsAsync<T>().Result; 
      } 
     } 

     return default(T); 

    } 

ここで、awaitキーワードを使用してメソッドの非同期化を行う場所を教えてください。

+0

読む[MSDN(https://msdn.microsoft.com/en-us/library/hh191443.aspx)は何のためにあるのですか? – t0mm13b

答えて

1

awaitTask.Waitを使用する代わりにTask<T>.Resultされるべきであり、Task.ContinueWith

​​
関連する問題