.net 4.5 でこの新しいテクノロジを少し試しています。この呼び出しのコードと、非同期呼び出しのエラーまたは応答をどのように制御する必要があるかを確認したいと思います。呼び出しは完全に機能しています。サービスから返される可能性のあるエラーを完全に制御する必要があります。
これは私のコードです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
namespace TwitterClientMVC.Controllers
{
public class Tweets
{
public Tweet[] results;
}
public class Tweet
{
[JsonProperty("from_user")]
public string UserName { get; set; }
[JsonProperty("text")]
public string TweetText { get; set; }
}
}
public async Task<ActionResult> Index()
{
Tweets model = null;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://mywebapiservice");
response.EnsureSuccessStatusCode();
model = JsonConvert.DeserializeObject<Tweets>(response.Content.ReadAsStringAsync().Result);
return View(model.results);
}
これはそれを行うためのより良い方法ですか?または私は何かが欠けていますか?ありがとう
私はそれをリファクタリングしますが、このメソッドも非同期ですか?
public async Task<ActionResult> Index()
{
Tweets model = null;
using (HttpClient httpclient = new HttpClient())
{
model = JsonConvert.DeserializeObject<Tweets>(
await httpclient.GetStringAsync("http://search.twitter.com/search.json?q=pluralsight")
);
}
return View(model.results);
}