While using SendMailAsync
I am getting the following error:
An asynchronous module or handler completed while an asynchronous
operation was still pending
My code :
public static async Task SendEmail(MessageContent messageContent, string emailBody)
{
SmtpClient smtpClientNoSend = new SmtpClient();
await smtpClientNoSend.SendMailAsync(mailMessage);
}
Call From Controller:
public async System.Threading.Tasks.Task<ActionResult> Register()
{
await SendEmail();
}
private void SendEmail()
{
SMTPEmail.SendEmail(msg, output.ToString());
return null;
}
Best Answer
Your call hierarchy is broken. You shouldn't use
async void
, that is ment for event handlers only, useasync Task
instead:Side note - I'm not sure why you have so many
SendMail
methods, You could narrow them down to a single method call.