Всем привет. Приложение улетает в UnhandledException при втором вызове данной функции.
public static class Locator
{
public static async Task<List<Location>> GetCitiesAsync(string token = "", int max = 5)
{
WebClient wc = new WebClient();
string resultContent = await wc.DownloadStringTaskAsync(new Uri(string.Format("http://www.site.ru/ajax/geo.cshtml?_=r&context=&token={0}&max_matches={1}&use_similar=0", HttpUtility.UrlEncode(token), max.ToString())));
// parse ...
Locations ll = JsonConvert.DeserializeObject<Locations>(resultContent);
return (from l in ll.locations select l).Take(max).ToList();
}
}
Вызываю так
async void LocationsFunc(string search)
{
if (IsLoading)
return;
IsLoading = true;
List<Location> locs = await Locator.GetCitiesAsync(search);
IsLoading = false;
}
A first chance exception of type 'System.Exception' occurred in System.Windows.dll
A first chance exception of type 'MS.Internal.WrappedException' occurred in System.Windows.dll
A first chance exception of type 'MS.Internal.WrappedException' occurred in System.Windows.dll
A first chance exception of type 'MS.Internal.WrappedException' occurred in System.Windows.dll
try/catch не помогает, где бы не находился.
Ума не приложу, в чем же дело? Какая ему разница? Ведь создается новый инстанс WebClientа
В callback/event стиле написания все работает.