Я хочу преобразовать очень статический DownloadString()
вызов в DownloadStringAsync()
, но не могу получить поток, как мне хотелось бы.
В настоящее время я делаю следующее в лотах мест:
string apiurl = "http://api.gowalla.com/spots/" + spot;
var entries = JsonConvert.DeserializeObject<SpotInfo>(CallGowalla(apiurl));
return entries;
С CallGowalla
выглядит так:
private static string CallGowalla(string apiurl)
{
var wc = new WebClient();
wc.Headers["Accept"] = "application/json";
wc.Headers["ContentType"] = "application/json";
wc.Headers["Authorization"] = CreateAuthorizationString();
wc.Headers["-Gowalla-API-Key"] = ConfigurationManager.AppSettings["api"].ToString();
var raw = wc.DownloadString(apiurl);
return raw;
}
Я получаю зависание от вызовов, поэтому я хочу переместить DownloadString
на DownloadStringAsync
, и я не уверен, с чего начать, не разорвав все вызовы на CallGowalla
во всем.
Есть идеи?
Предложения по архитектуре и рефакторингу приветствуются также ...