我面对一个普遍性问题,但我找不到一个好的例子来让自己尝试一下。Google也没有帮助。
想象一个这样的结构:
MailMessage mail = new MailMessage(sender, receiver);
using(SmtpClient client = new SmtpClient())
{
client.Host ...
client.Port ...
mail.subject ...
mail.body ...
client.SendAsync(mail);
}
如果服务器响应缓慢并需要一段时间才能接受邮件,
SmtpClient
是否可能在操作完成之前被销毁?它会被取消或中断吗?这个问题有通用的答案吗?这里的服务器速度太快了,不知道该如何尝试。
如果考虑取消BackgroundWorker
,它总是会完成当前的操作。可能在这里也一样,也可能不是...