У меня есть база подписчиков электронной почты; ок. 1800 в списке. У нас есть собственный обменный сервер. Я использую код ниже, чтобы захватить каждый адрес электронной почты из БД и отправлять электронную почту, по одному за раз. Для этого я использую веб-форму ASP.NET 4.0.
Я заметил, что страница зависает при отправке электронных писем. Каков наилучший подход для реализации этого - использовать консольное приложение? Как мне провести стресс-тестирование, как это?
Я также получаю необработанное сообщение об ошибке в журнале сервера:
Код события: 3001
Сообщение о событии: запрос был прерван.
// Call data access method via business class
TaxSalesBusiness bizClass = new TaxSalesBusiness();
DataSet ds = bizClass.GetSubscribers();
foreach (DataRow row in ds.Tables[0].Rows)
{
// Check well-formedness of each email adddress
if (!IsWellformedEmailAddr(row["Email"].ToString()))
{
// Ignore and log mal-formed email address
LogError(row["Email"].ToString()
+ " is a malformed email address. Message was not sent to this subscriber "
+ row["Name"].ToString() + ".", "");
continue;
}
else
{
string toAddress = row["Email"].ToString();
smtpClient.Send(fromAddress, toAddress, message.Subject, message.Body);
}
}