1

Emails テーブル(Sql)の新しいメールを読み取る EmailService を開発しています。これは、C# および .NET 4.0 で記述された Windows サービスです。すべての電子メール レコードのメール本文のサイズは約 12kb です...私のサービスが MailMessage.Disposed() メソッドを呼び出し、SmtpClient を null に設定するすべての電子メールを送信した後。しかし、私のサービスのメモリは増加し続け、新しい電子メールが読まれていなくても、開始されたサービスには戻りません (約 7MB のシステム メモリが必要です)。多くの場合、70MB - 120MB のシステム メモリを消費しますが、これは非常に奇妙です :(

上記の私の場合、メモリを減らす解決策はありますか?

よろしくお願いいたします。

4

2 に答える 2

0

およびオブジェクトに使用する必要がusingあります。SmtpClientMailMessage

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 に答える
0

私はこれを以前に見たことがあります.exeが閉じられるまでシステムリソースが実際に解放されなかったのです(いくつかのWindowsフォームプログラミングで2.0日に戻りました)。

于 2012-09-27T16:00:38.797 に答える