在我的一种控制器方法的结尾,我需要遍历一个集合并根据业务规则触发电子邮件。
我不希望此过程阻止控制器返回,因为这是“即发即弃”类型的操作,我需要客户端做出响应。
我重构的代码当前在SmtpClient.Send()
块内使用using ()
,因为SmtpClient
实现了IDisposable
。
在MVC中如何使用SendAsync
处理此问题?我担心SynchronizationContext并可能没有在这里调用Dispose()
。
在控制器方法结束之前的代码很简单:
client.SendAsync(message, userToken: null);