SmtpClientを使い捨てにできるようになったので、特にSendAsyncを使用して呼び出しを行うと、管理が少し難解です。おそらく、SendAsyncが完了するまでDisposeを呼び出すべきではありません。しかし、私はそれを呼び出すべきかどうか(例えば、 "使用する"を使用して)。このシナリオは、通話が行われると定期的に電子メールを送信するWCFサービスです。計算の大半は高速ですが、電子メールの送信には1秒ほどかかる場合がありますので、非同期が望ましいでしょう。SmtpClient、SendAsync、Disposeを.NET 4.0で使用するためのベストプラクティス
メールを送信するたびに新しいSmtpClientを作成する必要がありますか?私はWCF全体のために1つ作成する必要がありますか?助けて!
更新場合によっては、それぞれの電子メールが常にユーザーに合わせてカスタマイズされます。 WCFはAzureでホストされ、Gmailはメーラーとして使用されます。
処理する方法の全体像については、この記事を参照してくださいIDisposableをし、非同期:http://stackoverflow.com/questions/974945/how-to-dispose-objects-having-asynchronous-methods -called –