Windows Phone 8 асинхронное ожидание использования
Я только начал изучать программирование WP, так что это может быть маленький глупый вопрос ...
Я разрабатываю приложение, которое извлекает данные из одного веб-сервиса несколькими разными способами. Поэтому я решил поместить весь этот код извлечения веб-службы в один класс:
class WebApiWorker
{
public async Task<List<GeocodeResponse>> GetGeocodeAsync(String address)
{
String url = "http://api.com&search=" + HttpUtility.UrlEncode(address) + "&format=json";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = "GET";
HttpWebResponse response = (HttpWebResponse) await httpWebRequest.GetResponseAsync();
Stream responseStream = response.GetResponseStream();
string data;
using (var reader = new System.IO.StreamReader(responseStream))
{
data = reader.ReadToEnd();
}
responseStream.Close();
var geocodeResponse = JsonConvert.DeserializeObject<List<GeocodeResponse>>(data);
return geocodeResponse;
}
}
Но как я должен вызывать это из моего кода "основного приложения", я пытаюсь что-то вроде этого:
WebApiWorker webApi = new WebApiWorker();
var geoResponse = await webApi.GetGeocodeAsync("address");
Так что с этим не так, я получаю ошибку компилятора: оператор 'await' может использоваться только внутри асинхронного метода. Попробуйте пометить этот метод модификатором async и изменить его тип возвращаемого значения на Task.
Все предложения приветствуются.