Pourquoi ne pouvez-vous envoyer plusieurs emails en mode asynchrone via la même instance SmtpClient?
-
21-09-2019 - |
Question
Qu'est-ce qu'il dit sur l'étain.
La solution
Selon le la page MSDN sur SmtpClient, le seul but de SendAsync est de permettre à votre thread courant de poursuivre le traitement au lieu d'attendre la transmission à traiter. Le but de SendAsync est de ne pas vous permettre d'envoyer plusieurs messages à la fois, il est de vous permettre de poursuivre le traitement pendant qu'il envoie le message. SendAsync et Envoyer sont à la fois en utilisant le même pipeline, SendAsync juste vous permet de faire d'autres choses pendant que le message est envoyé.
Autres conseils
Selon MSDN :
Après avoir appelé SendAsync, vous devez attendre pour la transmission e-mail à compléter avant de tenter d'envoyer un autre message e-mail en utilisant Envoyer ou SendAsync.
Vous pouvez réutiliser la même instance, mais vous devez attendre que le premier courrier à envoyer.