我尝试了很多变体来快速将响应返回给用户并在后台发送电子邮件但失败了。这是我尝试过的一个示例,
ThreadPool.QueueUserWorkItem(callback =>
// It is important to put this line inside try catch otherwise it might crash the process
client.SendAsync(message, message)
);
当我在 client.SendAsync 上设置断点时,在执行此行之前不会向用户发送任何响应。那么在后台发送电子邮件而不等待响应的正确方法是什么。
更新:我想我遇到了问题,实际上是 VS 调试器停止了 asp.net 线程(挂起),直到您逐步执行。上面的代码适用于我的场景。