アプリケーションでエラーが発生した場合にメールを送信するために、以下の方法があります。[はい。メールでエラーを送信することは別の議論です]
public void EmailErrorDetails()
{
string strBodyMessage = string.Empty;
strBodyMessage = GetEmailBodyMessage();
if (strBodyMessage != String.Empty)
{
MailMessage emailMessage = new MailMessage();
emailMessage.From = new MailAddress(Constants.MailFrom);
emailMessage.To.Add(Constants.MailTo);
emailMessage.Subject = Constants.EmailSubject;
emailMessage.IsBodyHtml = true;
emailMessage.Body = string.Format(strBodyMessage);
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Host = Constants.EmailHostAddress;
client.Port = Convert.ToInt32(Constants.EmailPort);
client.Credentials = new NetworkCredential(Constants.MailFrom, Constants.MailFromPassword);
client.Send(emailMessage);
}
}
このメソッドをバックグラウンドで非同期に実行し、実行を先に進めたいと考えています。
[client.Send] 自体が非同期呼び出しを使用していることを読みました。上記のメソッド呼び出しを非同期にする利点はありますか?もしそうなら、どうすればこれを達成できますか?