我正在開發一個EmailService以讀取郵件表(Sql)的新郵件。這是用C#和.NET 4.0編寫的Windows服務。每個電子郵件記錄的郵件大小約爲12kb ...在發送每封電子郵件後,我的服務會調用MailMessage.Disposed()方法並將SmtpClient設置爲null。但是我的服務內存不斷增加,並且不會回到啓動的服務(大約需要7mb系統內存),即使沒有新的電子郵件被讀取。它往往consumses 70MB - 120MB系統內存,這是如此怪異:(System.Net.Mail.MailMessage發送後不釋放memeory
你有任何解決方案,以減少內存的情況下,我上面
謝謝你,最好的問候,
你確定問題不在其他地方嗎?註釋掉髮送消息的代碼並查看它是否仍然泄漏。或者,更好的是,使用memroy分析器。 – SLaks
我一直在使用ANTS內存分析器來跟蹤內存,並注意到內存增加的原因是關於MailMessage沒有處理......當我沒有調用sendMail方法時。我推測讀新的100000封郵件,一切都很好。所以,我打賭MailMessage是一個問題 –