Warum können Sie nicht mehr E-Mails asynchron mit der gleichen SmtpClient Instanz senden?
-
21-09-2019 - |
Frage
Was es auf dem Zinn sagt.
Lösung
Nach der MSDN-Seite auf SmtpClient, der einzige Zweck für SendAsync ist Ihr aktueller Thread zu ermöglichen, anstatt für die Übertragung zu Prozess des Wartens auf die Verarbeitung fortzusetzen. Der Zweck SendAsync ist nicht zuzulassen, dass Sie mehrere Nachrichten senden, ist es Ihnen zu erlauben, die Verarbeitung fortzusetzen, während er die Nachricht sendet. SendAsync und Senden sind beide die gleiche Pipeline verwenden, SendAsync nur ermöglicht es Ihnen, andere Dinge zu tun, während die Nachricht gesendet wird.
Andere Tipps
Nach MSDN :
Nach SendAsync aufrufen, müssen Sie warten für die E-Mail-Übertragung zu abgeschlossen ist, bevor Sie versuchen, senden eine andere E-Mail-Nachricht mit Senden oder SendAsync.
So können Sie die gleiche Instanz wiederverwenden können, aber Sie müssen warten, bis die erste E-Mail gesendet werden.