哪种更好的方式使用多线程技术发送电子邮件?

时间:2013-09-21 07:00:33

标签: c# asp.net-mvc asp.net-mvc-3

目前,我使用简单的SmtpClient发送方法(没有异步)发送电子邮件。发送电子邮件大约需要1分钟以上。所以我的导游告诉我用线程发送电子邮件。我搜遍了谷歌&我和我发现有各种线程机制来发送电子邮件。我只是想知道哪个更高效,更少开销?

我所知道的各种方法都是

  1. 使用Backgroundworker
  2. 使用AsyncCallback
  3. 创建新线程并手动管理。(我不想朝这个方向前进。)
  4. 使用任务
  5. 使用SendAsync
  6. 使用ThreadPool
  7. 我对线程的了解非常少,所以请帮助我。并且还建议是否有其他方法可以有效地做到这一点。

1 个答案:

答案 0 :(得分:0)

如果您使用的库支持SendAsync,那么您应该使用它。否则,使用TPL,这是.NET 4.0的并发标准:

 Task.Run( () => smtpClient.Send() );