如何在ASP.NET中发送电子邮件而不延迟响应?
我尝试了很多变化,以快速返回用户的响应,并在后台发送电子邮件,但失败了。这是我试过的一个例子如何在ASP.NET中发送电子邮件而不延迟响应?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我尝试了很多变化,以快速返回用户的响应,并在后台发送电子邮件,但失败了。这是我试过的一个例子 ThreadPool.QueueUserWorkItem(callback => // It is important to put this line inside try catch otherwise it might crash the process client.SendAsync(message, message)
ThreadPool.QueueUserWorkItem(callback =>
// It is important to put this line inside try catch otherwise it might crash the process
client.SendAsync(message, message)
);
当我在client.sendaync上设置断点时,在执行此行之前,不会向用户发送响应。那么,在后台发送电子邮件而不等待回复的正确方式是什么呢
更新:我想我明白了问题所在,实际上是VS调试器停止了asp.net线程(挂起),直到您完成。上述代码适用于我的方案。< P>您可以将电子邮件放入消息队列中,并将其实际发送到从该消息队列读取的单独服务中。 < P>根据电子邮件的数量和大小,您也可以考虑将它们写入拾取文件夹。您可以使用本地IIS SMTP服务器通过智能主机中继邮件。实际上,这对我们来说非常有效。使用ASP.NET异步发送电子邮件