Die SmtpClient Class besagt, dass Instanzmitglieder nicht Thread sicher sind. Dies ist zu sehen, wenn gleichzeitige Anrufe an Send oder SendAsync getätigt werden. Beide Methoden werden eine InvalidOperationException für den zweiten Aufruf auslösen, wenn der erste noch nicht abgeschlossen ist.Sind die SmtpClient.SendMailAsync-Methoden Thread Safe?
Die in .NET 4.5 eingeführte Methode SendMailAsync listet InvalidOperationException nicht als ausgelöste Ausnahme auf. Implementieren die neuen .NET 4.5-Methoden eine Art von Warteschlangen? Reflector ist nicht in der Lage, die Implementierungsdetails dieser Klasse zu beleuchten, also nehme ich an, dass dies in nativen Methoden implementiert wurde.
Können mehrere Threads die SendMessageAsync-Methode für eine freigegebene Instanz des SMTP-Clients sicher aufrufen?
Methoden, die nicht threadsicher sind, müssen keine Ausnahme auslösen, wenn Sie über mehrere Threads darauf zugreifen. – svick