? Estoy un poco perplejo sobre cómo administrar SmtpClient ahora que es desechable, especialmente si realizo llamadas usando SendAsync. Presumiblemente, no debería llamar a Dispose hasta que SendAsync se complete. Pero debería llamarlo alguna vez (por ejemplo, usar "usar"). El escenario es un servicio WCF que envía correos electrónicos periódicamente cuando se realizan llamadas. La mayor parte del cálculo es rápido, pero el envío de correo electrónico puede tomar un segundo más o menos, por lo que Async sería preferible.¿Cuáles son las mejores prácticas para usar SmtpClient, SendAsync y Dispose en .NET 4.0
¿Debo crear un nuevo SmtpClient cada vez que envío un correo? ¿Debo crear uno para toda la WCF? ¡Ayuda!
Actualización En caso de que haga una diferencia, cada correo electrónico siempre se personaliza para el usuario. El WCF está alojado en Azure y Gmail se utiliza como el anuncio publicitario.
Ver este post sobre el panorama general sobre cómo manejar IDisposable y asincrónico: http://stackoverflow.com/questions/974945/how-to-dispose-objects-having-asynchronous-methods -llamado –