我注意到,大多数使用.NET的SmtpClient类的示例代码不会处理创建的对象,也不会将其包装在using块中。(例如http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx) SmtpClient的dispose是可选的还是不是很重要,或者示例是否将我们引向了错误的道路?注意:在上面提供的MSDN示例中,MailMessage是被释放的,而不是SmtpClient对象。
发布于 2012-07-06 08:19:59
许多在线示例没有显示正确的处理代码的原因是SmtpClient didn't implement IDisposable until .NET 4。因此,这些示例可以基于以前的框架,也可以由不熟悉新功能的人编写。
发布于 2012-06-18 20:25:27
你必须把它处理掉。
在示例中,它们使用SendAsync(),这就是它们不使用"using“关键字的原因-- SendAsync()立即返回,您可以尝试释放当前正在使用的对象。但是,最好在完成所有异步方法后释放客户端。
发布于 2012-06-18 20:24:03
Msdn示例省略了这样的事情,因为重点是在一篇小文章中清楚地演示概念,而不是编写正确的健壮的生产应用程序。
https://stackoverflow.com/questions/11082760
复制相似问题