我有一个执行任务的控制器操作,最后,它会向用户发送一封确认电子邮件。它的电子邮件部分不是很重要,所以如果电子邮件的发送抛出异常,我不想让我的动作中断,我不希望我的 HTTP 响应等待电子邮件发送。我希望这是一场火灾,然后忘记事情。
简而言之,这就是我的处理方式:
public async Task<ActionResult> MyAction(){
// Do stuff
await DoStuff();
Thread sendEmailThread = new Thread(SendEmail);
sendEmailThread.Start();
return result;
}
private async void SendEmail(){
await smtpClient.SendMessageAsync();
}
这种方法合适吗?