Jestem trochę zakłopotany tym, jak zarządzać SmtpClient teraz, gdy jest on jednorazowy, zwłaszcza jeśli wykonuję połączenia za pomocą SendAsync. Przypuszczalnie nie powinienem wywoływać Dispose, dopóki SendAsync nie zakończy się. Ale czy powinienem to kiedykolwiek nazwać (np. Używając „używając”). Scenariusz to usługa WCF, która okresowo wysyła wiadomości e-mail, gdy wykonywane są połączenia. Większość obliczeń jest szybka, ale wysłanie wiadomości e-mail może zająć około sekundy, więc preferowany byłby Async.
Czy powinienem tworzyć nowego SmtpClient za każdym razem, gdy wysyłam pocztę? Czy powinienem utworzyć jeden dla całego programu WCF? Wsparcie!
Aktualizacja Jeśli ma to znaczenie, każdy e-mail jest zawsze dostosowany do użytkownika. Usługa WCF jest hostowana na platformie Azure, a Gmail jest używany jako poczta.