1

我正在开发一个 EmailService 来阅读电子邮件表(Sql)的新邮件。这是一个用 C# 和 .NET 4.0 编写的 Windows 服务。每封电子邮件记录的邮件正文大小约为 12kb...在发送每封电子邮件后,我的服务调用 MailMessage.Disposed() 方法并将 SmtpClient 设置为 null。但是我的服务的内存不断增加,即使没有阅读新的电子邮件,也不会回到启动的服务(大约需要 7mb 系统内存)。它经常消耗 70mb - 120mb 系统内存,这太奇怪了 :(

对于上述情况,您有什么解决方案可以减少内存吗?

感谢你并致以真诚的问候,

4

2 回答 2

0

我以前见过这种情况,直到关闭 .exe 才真正释放系统资源(回到 2.0 天,有一些 Windows 窗体编程)。

于 2012-09-27T16:00:38.797 回答
0

您应该使用usingSmtpClient对象MailMessage

using(SmtpClient client = new SmtpClient("ipaddress")){
using(MailMessage message = new MailMessage()){

//Do something to fill the message...

client.Send(message);

}

}
于 2013-01-22T15:12:35.247 回答