@TitleКак определить время, которое потребовалось SmtpClient.send для отправки сообщения?
Как определить время, необходимое для отправки сообщения?
Прямо сейчас, когда я нажимаю «отправить», моя программа просто молчат. Я хотел бы, чтобы программа отображала что-то вроде строки выполнения, которая будет загружаться, пока программа отправляет сообщение.
Возможно ли это?
По состоянию на данный момент, это то, что у меня есть:
try
{
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand cmd = new MySqlCommand(getEmail, connect.connection);
cmd.Parameters.AddWithValue("@section", sectionSelect.SelectedValue);
adapter.SelectCommand = cmd;
System.Data.DataTable mailingList = new System.Data.DataTable();
adapter.Fill(mailingList);
foreach (DataRow row in mailingList.Rows)
{
string rows = string.Format("{0}", row.ItemArray[0]);
message.To.Add(rows);
}
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(email, password.Password);
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.Send(message);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
MessageBox.Show("Your message has been sent.");
}
Индикатор выполнения будет расточительным, потому что 'SmtpClient.Send' не сообщает о промежуточном статусе. –
Жаль. Я просто хотел что-то, что пользователь может видеть, пока программа отправляет сообщения. Есть ли способ связать индикатор выполнения с попыткой? Я имею в виду, нагрузка до тех пор, пока все процедуры в TRY не будут выполнены? – Nath
Конечно. Покажите его перед попыткой и спрячьте его в конце. –