Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ASP.NET中发送电子邮件而不延迟响应?_Asp.net_Asp.net Mvc - Fatal编程技术网

如何在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异步发送电子邮件