В заявлении SmtpClient Class указано, что члены экземпляра не являются потокобезопасными. Это можно увидеть, если одновременные вызовы сделаны в Send или SendAsync. Оба метода будут вызывать InvalidOperationException во втором вызове, если первый еще не завершен.Являются ли методы SmtpClient.SendMailAsync Thread Safe?
Метод SendMailAsync, представленный в .NET 4.5, не отображает InvalidOperationException как исключение. Используют ли новые методы .NET 4.5 какие-то очереди? Отражатель не может пролить свет на детали реализации этого класса, поэтому я предполагаю, что это было реализовано в собственных методах.
Может ли несколько потоков безопасно обращаться к методу SendMessageAsync на общем экземпляре клиента SMTP?
Способы, которые не являются потокобезопасными, не должны вызывать исключение, если вы обращаетесь к ним из нескольких потоков. – svick