调用SmtpClient.Send()
时出现内存泄漏。
我有发送电子邮件的服务。我注意到TaskManager中存在内存泄漏。我注释掉SmtpClient.Send()
行,当我再次启动服务时,我注意到内存使用量没有增加。
答案 0 :(得分:3)
假设Taskmgr.exe是一个泄漏检测工具,这是一个非常常见的错误。 .NET垃圾收集器和Windows堆管理器的组合非常复杂,无法从您在该工具中看到的数字进行逆向工程。
通过发送数千封电子邮件向自己证明。如果SmtpClient.Send()确实泄漏,那么您的程序将很快崩溃并出现OutOfMemory异常。使用Perfmon.exe和.NET CLR内存类别中的性能计数器,更深入地了解.NET程序的内存使用情况。还有一本好书,比如Richter通过C#的CLR。