У меня есть приложение, в котором я использую Async и Await при вызове веб-службы отдыха.Когда я запускаю свои модульные тесты, я не могу получить какой-либо правильный ответ, хотя я использую await.Это асинхронный метод:
public async Task<Response> SendEmail(string apiKey, string senderEmail, string senderName, string recipientEmail, string recipientName, string subject, string content, bool html)
{
var client = new SendGridClient(apiKey);
var from = new EmailAddress(senderEmail, senderName);
var to = new EmailAddress(recipientEmail, recipientName);
var msg = MailHelper.CreateSingleEmail(from, to, subject, html ? null : content, html ? content : null);
var response = await client.SendEmailAsync(msg);
return response;
}
Вызывающий метод выглядит следующим образом:
public static object SendEmail(string apiKey, string senderEmail, string senderName, string recipientEmail, string recipientName, string subject, string content, bool html)
{
EmailHandler emailHandler = new EmailHandler();
var response = emailHandler.SendEmail(apiKey, senderEmail, senderName, recipientEmail, recipientName, subject, content, html);
return response;
}
Теперь, если я поставлю точку останова на ответ возврата в вызывающей функции, я смогу увидеть объекткоторый имеет статус = "Ожидание активации" и Результат = "Еще не вычислено".Из того, что я смог собрать, вызов .Reult для возвращенного объекта должен заставить его работать синхронно и возвращать результат.(Например, код состояния запроса, например 200).
Что мне здесь не хватает?Почему он не ждет, пока не закончится?