smtpClient.send()和smtpClient.SendAsync()之间的区别?

时间:2011-05-30 07:09:28

标签: smtpclient

我正在尝试从localhost发送邮件..

并且这样做我有来自不同网站的方法来发送邮件..但是这样做我在smtpClient.send()smtpClient.SendAsync()之间感到困惑..

我想知道他们是如何彼此不同的?

提前致谢..

2 个答案:

答案 0 :(得分:12)

smtpClient.send()将在main / ui线程上启动发送并阻止。
smtpClient.SendAsync()将从.NET线程池中选择一个线程并在该线程上执行该方法。因此,您的主UI不会挂起或阻止。

异步方法调用 - http://www.codeproject.com/KB/cs/AsyncMethodInvocation.aspx

答案 1 :(得分:2)

SendAsyc - 将指定的电子邮件发送到SMTP服务器以进行传递。此方法不会阻止调用线程,并允许调用者将对象传递给操作完成时调用的方法。更多详情:SmtpClient.SendAsync Method