У меня есть этот метод, который я написал, который отправляет электронное письмо, когда пользователь нажимает кнопку. Теперь проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда пользователь нажимает на кнопку, форма замерзает на пару секунд, а затем отправляет электронное письмо. Поэтому метод работает, но я не понимаю, почему форма замораживается.Форма Замораживает при выполнении метода
string emailAddress = tbEmailAddress.Text + cbEmailAddress.Text;
string emailPassword = tbEmailPassword.Text;
string emailRecipient = tbEmailRecipient.Text;
string emailSubject = tbEmailSubject.Text;
string emailBody = rtbEmailBody.Text;
string smtpHost;
string smtpPort;
MailMessage email = new MailMessage(emailAddress, emailRecipient);
email.Subject = emailSubject;
email.Body = emailBody;
SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(emailAddress, emailPassword);
smtp.Send(email);
smtp.Dispose();
Есть ли способ обойти эту проблему, с которой я столкнулся?
Заранее спасибо.
Посмотри многопоточность – JleruOHeP
Сделайте вызов асинхронный, существует много методов в классе 'SmtpClient', чтобы сделать это, посмотри в [this] (http://msdn.microsoft.com/en-us/library/x5x13z6h.aspx) и [this] (http://msdn.microsoft.com/en-us/library/hh193922.aspx) , –