【发布时间】:2009-12-26 08:52:20
【问题描述】:
我正在处理一个项目,其中有一部分是批量发送电子邮件,当用户单击该按钮时,他/她会立即收到“感谢电子邮件已发送”作为响应和相同方法也在触发一个异步线程。
ThreadPool.QueueUserWorkItem(SendEMail, _message);
当用户单击发送按钮时,该线程已排队,但由于这是默认的Background Thread,我期待页面响应结束时,该线程将被终止,但它没有发生,因为当前线程触发了该线程也是一个Background Thread 和一个Worker Thread,所以这意味着有一个未完成的前台线程(可能是主线程或工作线程)仍然存在,但我不知道他们什么时候完成因为他们的完成时间会影响我的后台工作线程;当最后一个前台线程结束时,会导致进程终止,后台线程也一样。
我应该害怕这个还是 Asp.NET 可以自动处理它,我有点困惑,因为我已经阅读了很多关于它的东西,现在一切都搞混了。
你能稍微澄清一下吗?
提前致谢。
【问题讨论】: