Привет.
Наткнулся на странное повдение при использовании async await выполнение кода просто обрывается.
Не продолжает ни синхроннно, ни ассинхронно. Exception'ов не происходит. Пример:
public async Task<IEnumerable<MailChimpUser>> GetAllMembersAsync(string listName)
{
try
{
//Обрывается после выполнения этой строчки
var list = await GetListByName(listName);
//Причем если вместо вызова "расскрыть метод", так
//var lists = await _apiManager.Lists.GetAllAsync().ConfigureAwait(false);
//list = lists.FirstOrDefault(l => l.Name == name);
//то выполнение продолжится
var members = await _apiManager.Members.GetAllAsync(list.Id).ConfigureAwait(false);
var result = members.Select(m => new MailChimpUser()
{
...
});
//то же самое здесь, после return не возвращается в метод где его эвэйтят...
return result;
}
catch (Exception ex)
{
var logger = LogManager.GetCurrentClassLogger();
logger.Error(ex, ex.Message, new object[] { });
throw ex;
}
}
private async Task<MailChimp.Net.Models.List> GetListByName(string name)
{
try
{
var lists = await _apiManager.Lists.GetAllAsync().ConfigureAwait(false);
var list = lists.FirstOrDefault(l => l.Name == name);
if (list == null)
throw new Exception(String.Format("MailChimp: List \"{0}\" not found", name));
return list;
}
catch (Exception ex)
{
var logger = LogManager.GetCurrentClassLogger();
logger.Error(ex, ex.Message, new object[] { });
throw ex;
}
}
Подскажите в чем косяк и как это можно поправить?