Nếu tôi làm điều này:Cách chờ MailMessage.SendAsync?
public async Task<SendEmailServiceResponse> ExecuteAsync(SendEmailServiceRequest request)
{
....
var response = new SendEmailServiceResponse();
await client.SendAsync(mail, null); // Has await
response.success = true;
return response;
}
Sau đó, tôi có được điều này:
Không thể chờ đợi 'khoảng trống'
Nhưng nếu tôi làm điều này:
public async Task<SendEmailServiceResponse> ExecuteAsync(SendEmailServiceRequest request)
{
....
var response = new SendEmailServiceResponse();
client.SendAsync(mail, null); // No Await
response.success = true;
return response;
}
tôi nhận được điều này:
Phương pháp không đồng bộ thiếu 'đang chờ' và sẽ chạy đồng bộ.
Tôi rõ ràng thiếu điều gì đó, chỉ không chắc chắn về điều gì.
Mặc dù tên của nó, SendAsync không phải là phương thức async (về async \ await), bởi vì nó không trả về Task. – Evk
Câu trả lời ngắn .. bạn không. Đó là một phương pháp đồng bộ trong bối cảnh của api. – Mardoxx
Vì vậy .... không thể gửi một email không đồng bộ? –