Решение для системы очередей - PullRequest
3 голосов
/ 08 марта 2011

Я хотел бы решить такую ​​проблему: у меня есть HTML-форма (например, форма регистрации), отправка которой отправляет электронное письмо.Теперь я отправляю это как часть запроса страницы.Очевидные недостатки:

  • делает запрос длиннее
  • иногда сервер smtp не работает или таймауты и электронные письма не отправляются

При работе с PHP я использовалРешение, основанное на очереди - я помещал объект / xml в хост, а затем какой-то клиент проверял эту очередь.Если задача очереди была успешно обработана, она удаляет задачу из очереди.Интересно, есть ли аналогичная реализация на платформе Windows / .NET?

Спасибо, Павел

Ответы [ 3 ]

3 голосов
/ 08 марта 2011

MSMQ предлагает надежную организацию очередей, которую легко использовать в .NET. Доступ к очередям сообщений может быть хорошим местом для начала.

0 голосов
/ 08 марта 2011

Вам не нужна очередь как таковая.Вы можете использовать метод SendAsync в классе System.Net.Mail.SmtpClient.Это вернется немедленно и не заблокирует страницу.

См .: http://msdn.microsoft.com/en-us/library/x5x13z6h.aspx

0 голосов
/ 08 марта 2011

AH - почему?

У меня есть HTML-форма (например, форма регистрации), отправка которой отправляет электронное письмо.

Попросите участников написать электронное письмо в локальный каталог для размещения сообщений, а затем использовать службу SMTP системы Windows, чтобы отправить их на сервер электронной почты вашего поставщика.В качестве альтернативы используйте свой собственный сервис, чтобы скопировать их в папку исходящей электронной почты (я делаю это, чтобы добавить код, указывающий на сайт для отслеживания).

Это стандартные методы.

...