SmtpClient.Send вызывает утечку памяти - PullRequest
0 голосов
/ 22 января 2010

У меня утечка памяти при вызове SmtpClient.Send().

У меня есть сервис для отправки писем. Я заметил утечку памяти в TaskManager. Я закомментировал строку SmtpClient.Send(), и когда я снова запустил службу, я заметил, что использование памяти не увеличилось.

1 Ответ

3 голосов
/ 22 января 2010

Очень распространенная ошибка - предполагать, что Taskmgr.exe - это инструмент для обнаружения утечек. Сочетание сборщика мусора .NET и диспетчера кучи Windows слишком сложное, чтобы его можно было пересмотреть по сравнению с числами, которые вы видите в этом инструменте.

Докажите это себе, отправив тысячи сообщений электронной почты. Если SmtpClient.Send () действительно протекает, ваша программа быстро завершит работу с исключением OutOfMemory. Получите больше информации об использовании памяти программой .NET с Perfmon.exe и счетчиками производительности в категории .NET CLR Memory. И хорошая книга, как CLR Рихтера через C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...