Async systemu Windows Phone 8 oczekuje na użycie
Właśnie zacząłem uczyć się programowania WP, więc to może być małe głupie pytanie ...
Im rozwijanie aplikacji, która pobiera dane z jednej usługi internetowej kilka różnych metod. Postanowiłem więc umieścić całą tę usługę pobierania kodu w jednej klasie:
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;
}
}
Ale jak powinienem to nazwać z mojego kodu „głównej aplikacji”, próbuję czegoś takiego:
WebApiWorker webApi = new WebApiWorker();
var geoResponse = await webApi.GetGeocodeAsync("address");
Więc co jest z tym nie tak, otrzymuję błąd kompilatora: operatora „await” można używać tylko w ramach metody asynchronicznej. Rozważ oznaczenie tej metody modyfikatorem „async” i zmień jej typ powrotu na „Zadanie”.
Wszystkie sugestie są mile widziane.