Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttИ отправляй тут хоть Аватара в блю-рей... Пипец, ну неужели лень хоть немножечко углубиться в тему, прежде чем яростно бросаться в спор? Дожили. А теперь по делу. Покажи, как отправить письмо с произвольным вложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 12:58 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttНахлобучИ вот тут планировщик не подходит абсолютно, от слова совсем. Если делать надежную систему отправки уведомлений, то, очевидно, должна быть БД отправляемых уведомлений и очередь, в которую с засовывают сообщения (от слова Message из Message Queue) типа "отправь уведомление #113247". На другой стороне ее слушает отправлятель (или пул отправлятелей), который эти уведомления по очереди публикует. В случае ошибки сообщение кладется в отдельную retry-очередь, где они лежат определенное время (и даже здесь планировщик не нужен -- messaging-системы и сами с этим прекрасно справляются) и потом перемещаются обратно в основную очередь. Обработка транзакционности и ситуации с превышением порогового числа повторов отправки и реакции на это событие компонентов системы остается на усмотрение читателя. Выходи из судорга и прекращай нести бред. А в чём бред-то заключается? У нас около 12 миллионов писем в месяц примерно по такой схеме отправляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 12:59 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttВыходи из судорга и прекращай нести бред. Конкретнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 12:59 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
skyANAhVosttпропущено... Выходи из судорга и прекращай нести бред. А в чём бред-то заключается? У нас около 12 миллионов писем в месяц примерно по такой схеме отправляются. Бред заключается вот в этом "И вот тут планировщик не подходит абсолютно, от слова совсем." Как организовывать рассылку, очередью или признаком - не суть дело. Оба варианта имеют право на жизнь. И планировщик тут вполне вписывается в архитектуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:02 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
Бред заключается в том, что ТС свалил, а вы тут спорите не пойми о чём ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:06 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
Отсылать заявки по почте - это вообще моветон. Тут нужен Hadoop. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:08 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
МСУТут планировщик подходит как нельзя кстати. Абсолютно как нельзя кстати.Ну расскажи, куда ты его собрался втыкать. МСУВо-первых, очередью может быть обычная таблица в БД.И этот человек тут рассуждает про "нагруженные системы". Polling плохо -- это раз. Locking для "select for update" -- это два. Катастрофически разная производительность операций insert/select/delete при таком сценарии работы -- три. Любой из этих пунктов положит твою "нагруженную" систему на лопатки. МСУВо-вторых, можно ничего этого не делать, а уведомлять по признаку в БД. Признаком может быть любая логическая конструкция в соответствии с требуемой бизнес логикой. Начиная от смены статусов заявки, кончая какими-то иными типами. И никакие очереди тут даром не нужны. После успешной отправки сообщения выставляется флаг отправленного уведомления. Никакой магии, конструкция проста как мир и надежна, как камень.Это опять какие-то пустопорожние сказки. Допустим, наступило какое-то условие -- заявка переведена из статуса А в статус Б. Ты отправляешь уведомление, отправка обламывается. Твои действия? МСУASP.NET Identity имеет самое прямое отношение к отсылке сообщений. Почему? Потому что есть встроенный внятный функционал. И если автору всё-таки захочется отправить сообщения прям из сайта по месту, то это самый подходящий вариант сделать это. При условии, что используется ASP.NET Identity, разумеется.Этот функционал печален и уныл. Identity не менее печален. Microsoft уже показало свою несостоятельность в этом вопросе -- сначала стандартная система авторизации и аутентификации в ASP.NET, потом Membership, потом Identity -- всё это проектировалось и писалось вообще без оглядки на то, как оно должно использоваться. А IIdentityMessageService -- это какой-то огрызок. МСУНахлобуч Установить заголовок. Например, List-Unsubscribe, который для каждого типа письма свой и должен передаваться извне Добавить формируемые извне же вложения Отправить письмо одновременно в HTML и в Plaintext Как извне указать Content-Encoding Легко. 1. IIdentityMessageService.SendAsync => MailMessage.Headers.Add("List-Unsubscribe", "< http://www.host.com/list.cgi?cmd=unsub&lst=list>, <mailto:list-request@host.com?subject=unsubscribe>"; 2. IIdentityMessageService.SendAsync => MailMessage.Attachments 3. IIdentityMessageService.SendAsync => MailMessage.AlternateViews 4. IIdentityMessageService.SendAsync => MailMessage.BodyEncoding[/quot] Смешно, ага. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Отправь мне из метода Signup() письмо со вложением и в двух форматах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:21 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучСмешно, ага. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Отправь мне из метода Signup() письмо со вложением и в двух форматах. А ещё польку станцевать, постирать носки и кофе сварить? С какого перепугу вложения должны прикрепляться из контроллера? Реализуешь IIdentityMessageService, там прикрепляешь свои вложения, добавляешь поля, пишешь прописью, приделываешь альтернативное содержимое, дудишь в гудок и отправляешь по адресу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:31 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttА ещё польку станцевать, постирать носки и кофе сварить? С какого перепугу вложения должны прикрепляться из контроллера? Реализуешь IIdentityMessageService, там прикрепляешь свои вложения, добавляешь поля, пишешь прописью, приделываешь альтернативное содержимое, дудишь в гудок и отправляешь по адресу. Код показывай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:33 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучhVosttВыходи из судорга и прекращай нести бред. Конкретнее. Бред ты несёшь, так как любая фоновая служба и есть по сути планировщик, хочешь ты этого или нет. Вопрос только в том, в какой момент и при каких условиях обрабатывать событие. Это можно настроить как угодно взяв наиболее подходящий инструмент, ты же углубляешься в ненужные сейчас детали и решил зачем-то пожонглировать терминами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:34 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучhVosttА ещё польку станцевать, постирать носки и кофе сварить? С какого перепугу вложения должны прикрепляться из контроллера? Реализуешь IIdentityMessageService, там прикрепляешь свои вложения, добавляешь поля, пишешь прописью, приделываешь альтернативное содержимое, дудишь в гудок и отправляешь по адресу. Код показывай. 16467578 место, где это делается я указал. дурачка-то не включай, я не буду тебе рисовать код отправки письма и прикрепления атачей, это тривиально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:36 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучЭтот функционал печален и уныл. Identity не менее печален. Microsoft уже показало свою несостоятельность в этом вопросе -- сначала стандартная система авторизации и аутентификации в ASP.NET, потом Membership, потом Identity -- всё это проектировалось и писалось вообще без оглядки на то, как оно должно использоваться. А IIdentityMessageService -- это какой-то огрызок. Обоснуй плз. А то набросы в духе "они все дураки и не лечатся, один я умный, знаю как надо, но вам не скажу!". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:38 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVostt 16467578 место, где это делается я указал. дурачка-то не включай, я не буду тебе рисовать код отправки письма и прикрепления атачей, это тривиально.Ладно, зайдем с другой стороны. Откуда вот в этом методе возьмутся вложения? Код: c# 1. 2. 3. 4. 5. Код, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:38 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучЛадно, зайдем с другой стороны. Откуда вот в этом методе возьмутся вложения? Код: c# 1. 2. 3. 4. 5. Код, пожалуйста. Тогда зайдём ещё с одной стороны, какие вложения и как ты собирался их отправлять по SMS? Задачу IdentityMessage ты так до сих пор и не вкурил, я смотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:42 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
Нахлобуч, На случай, если ты всё ещё в глухом непробиваемом танке: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Пользователь регистрируется (или запрашивает услугу) и решает куда ему слать код подтвержения, на почту или на телефон. Или это решается исходя из действий пользователя, не суть важно. Важно то, что IdentityMessage -- это абстракция сообщения для задач ASP.NET Identity. За конкретную реализацию отправки отвечают конкретные сервисы. Хочешь передать больше информации? Передавай, не вопрос. IdentityMessage не является sealed, сечёшь? Добавь туда ещё десяток полей и будь здоров. В чём проблема-то я не пойму? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:46 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttБред ты несёшь, так как любая фоновая служба и есть по сути планировщик, хочешь ты этого или нет.Это какое-то новое слово в науке и технике. Вот тут ( 16459954 ) был явно упомянут Quartz.NET, который нужен только для одного: выполнять произвольные джобы по произвольному же расписанию. Внимание, вопрос: зачем в деле "отправить сообщение незамедлительно" какие-то джобы и расписания? hVostt...ты же углубляешься в ненужные сейчас детали и решил зачем-то пожонглировать терминами.Я с самого начала писал, что автору ничего не нужно усложнять и хай отправляет письма прямо из контроллера. В "ненужные детали" я "углубился" для того, чтобы рассказать, как строится архитектура надежного сервиса уведомлений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:49 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttВажно то, что IdentityMessage -- это абстракция сообщения для задач ASP.NET Identity. За конкретную реализацию отправки отвечают конкретные сервисы. Хочешь передать больше информации? Передавай, не вопрос. IdentityMessage не является sealed, сечёшь? Добавь туда ещё десяток полей и будь здоров. В чём проблема-то я не пойму?Самая большая проблема тут в том, что МСУ считает, что это поделие пригодно для отправки произвольных уведомлений пользователям. Изначально требовалось отправлять уведомление о создании новой заявки, что к задачам Identity Management никакого отношения не имеет и зачем тут использовать вообще что-либо из Microsoft.AspNet.Identity остается загадкой. Далее я вполне заслуженно назвал IIdentityMessageService унылым, потому что единственное, что он умеет "из коробки" -- это отправлять уведомления получателю с заданной темой и текстом. Возможно, этого хватает, чтобы отправить сообщения типа "Добро пожаловать на сайт", но не более. Попытка же слепить из этого что-то более потребное превращается в занимательные приседания с наследованием от IdentityMessage, реализацией своего EmailIdentityMessageService и связыванием всего этого синей изолентой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:00 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучЭто какое-то новое слово в науке и технике. Вот тут ( 16459954 ) был явно упомянут Quartz.NET, который нужен только для одного: выполнять произвольные джобы по произвольному же расписанию. Внимание, вопрос: зачем в деле "отправить сообщение незамедлительно" какие-то джобы и расписания? Это лишь одно из целого вороха решений, довольно популярное и стабильное. Зачем отдавать отправку отдельному сервису уже было сказано. Причин для этого не мало. Самая банальная, это ошибка отправки, может стоит попробовать через несколько минут ещё раз и сделать не менее 3 попыток. Это работа для планировщика. Сам бог велел. Ты же исходишь из принципа, что сообщения должны 100% немедленно отправляться, хотя никто никаких гарантий тебе не даёт однозначно. А письмо надо попытаться доставить. Да и с архитектурной точки зрения, сунул письмо в очередь на отправку и успокоился. Надо отправить по-быстрее, укажи приоритет. В чём проблема, ещё раз спрашиваю? На кой ляд городить это говнище в коде с созданием каких-то тасков в контроллере? Что с этим убожеством делать потом? Как сопровождать? НахлобучЯ с самого начала писал, что автору ничего не нужно усложнять и хай отправляет письма прямо из контроллера. Я с самого начала писал, что не надо решать и тем более думать за автора. Почему надо априори считать его дураком? Если он задал вопрос "как лучше", значит наверное он хочет выслушать мнения на этот счёт. На счёт "как лучше", ещё в который раз уточню. Лучше значит, надёжно, сопровождаемо, расширяемо и управляемо. Ты предлагаешь какой-то убогий костыль, мотивируя тем, что типа так быстрее закодить. Это ты можешь студентам посоветовать, которые лабы сдают старичью, которое даже их толком не проверяет. НахлобучВ "ненужные детали" я "углубился" для того, чтобы рассказать, как строится архитектура надежного сервиса уведомлений. Ты рассказываешь как лепить убогие костыли, и слово "архитектура" здесь не уместно в принципе. Это как Равшан будет рассказывать архитектуру про то, как он унитаз в раковину превратил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:14 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучСамая большая проблема тут в том, что МСУ считает, что это поделие пригодно для отправки произвольных уведомлений пользователям. Он указал один из способов наиболее близких к тому, что ты предлагал без использования джобов, но с архитектурной точки зрения эффективно. Естетственно у данного решения есть свой ограниченный круг задач. Ты же начал лепить какие-то аттачи, которые непременно должны прилетать напрямую из контроллера. И даже эта задача решается без каких-либо проблем. О чем сетуешь не пойму? НахлобучДалее я вполне заслуженно назвал IIdentityMessageService унылым, потому что единственное, что он умеет "из коробки" -- это отправлять уведомления получателю с заданной темой и текстом. Возможно, этого хватает, чтобы отправить сообщения типа "Добро пожаловать на сайт", но не более. Попытка же слепить из этого что-то более потребное превращается в занимательные приседания с наследованием от IdentityMessage, реализацией своего EmailIdentityMessageService и связыванием всего этого синей изолентой. См. выделенное. Не "возможно", а совершенно точно, только это и нужно. И никакой синей изоленты не нужно, всё уже разложено по полочкам и можно использовать, при чём раз написанный сервис может кочевать из проекта в проект. В этом один из смыслов архитектурной декомпозиции, каждый кирпичик в известном смысле независим и в тоже время хорошо ложится рядом с другими. Я так и не увидел объяснений "убогости" с твоей стороны. Твоя задача с аттачами и погремушками решается в лёгкую, хоть через наследование, хоть через интерфейсы, выбирай по вкусу. Но вообще, это не требуется. Для массовой рассылки с погремушками нужны другие инструменты и планировщик для этого подходит более чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:21 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttНа кой ляд городить это говнище в коде с созданием каких-то тасков в контроллере? Что с этим убожеством делать потом? Как сопровождать?Таски я не предлагал, привет. Ты же предложил Кварц, который, вообще говоря, нужно держать вне веб-приложения, заводить под него БД и т.д. Ты вообще представляешь объем работы? hVosttЯ с самого начала писал, что не надо решать и тем более думать за автора.С самого начала ты писал про Кварц, напомню. hVosttЛучше значит, надёжно, сопровождаемо, расширяемо и управляемо.Формальные критерии измерения "сопровожаемости", "расширяемости" и т.д. в студию. hVosttТы предлагаешь какой-то убогий костыль, мотивируя тем, что типа так быстрее закодить. Это ты можешь студентам посоветовать, которые лабы сдают старичью, которое даже их толком не проверяет.Я предлагаю достаточное на данный момент решение. Программисту платят не за красивый и расширяемый код, а за то, что он решает бизнес-задачи в подходящие бизнесу сроки. Это не значит, что нужно говнокодить направо и налево. Но и заниматься разработкой всесторонне расширяемого отправлятора для отправки писем ровно для одного бизнес-кейса не нужно. hVosttТы рассказываешь как лепить убогие костыли, и слово "архитектура" здесь не уместно в принципе. Это как Равшан будет рассказывать архитектуру про то, как он унитаз в раковину превратил.Ты можешь, используя технические термины и корректные аргументы, пояснить, почему то, что я предлагаю -- убогие костыли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:30 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
закладка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:41 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
hVosttОн указал один из способов наиболее близких к тому, что ты предлагал без использования джобов, но с архитектурной точки зрения эффективно. Естетственно у данного решения есть свой ограниченный круг задач. Ты же начал лепить какие-то аттачи, которые непременно должны прилетать напрямую из контроллера. И даже эта задача решается без каких-либо проблем. О чем сетуешь не пойму? "Без проблем" текущая задача решается только с помощью всем известного SmtpClient. Все дополнительные абстракции только нужны только для того, чтобы потешить самолюбие и когда-нибудь с блеском протечь. Я уже устал повторять: ASP.NET Identity (которую, кстати говоря, автор может и не использовать в проекте) нужна для управления пользователями, авторизации и аутентификации. В процессе работы она может отправлять кому-то какие-то уведомления, но это совершенно не повод использовать её куцый механизм отправки уведомлений об Identity Lifecycle для отправки вообще всех уведомлений. Плюс советуемый МСУ UserManager<TUser, TKey>.SendEmailAsync Method подразумевает, что пользователь зарегистрирован на сайте. Очень смелое допущение. hVosttНахлобучДалее я вполне заслуженно назвал IIdentityMessageService унылым, потому что единственное, что он умеет "из коробки" -- это отправлять уведомления получателю с заданной темой и текстом. Возможно, этого хватает, чтобы отправить сообщения типа "Добро пожаловать на сайт", но не более. Попытка же слепить из этого что-то более потребное превращается в занимательные приседания с наследованием от IdentityMessage, реализацией своего EmailIdentityMessageService и связыванием всего этого синей изолентой.См. выделенное. Не "возможно", а совершенно точно, только это и нужно.Ты точно внимательно читал? RDS1) Пользователь вносит заявку, заполняя поля формы; 2) Нажимает кнопку Сохранить; 3) Запускается действие контроллера, там заявка сохранятся в базе через репозиторий. 4) .... и теперь надо разослать копии писем всем заинтересованным лицам...Где тут хотя бы намек на то, что задача связана с ASP.NET Identity? hVosttЯ так и не увидел объяснений "убогости" с твоей стороны. Прошу , раздел "Background: Membership in ASP.NET". hVosttТвоя задача с аттачами и погремушками решается в лёгкую, хоть через наследование, хоть через интерфейсы, выбирай по вкусу.Да-да, всё одинаково криво будет. hVosttНо вообще, это не требуется. Для массовой рассылки с погремушками нужны другие инструменты и планировщик для этого подходит более чем.Ты точно внимательно читал? Какие массовые рассылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:43 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучМСУТут планировщик подходит как нельзя кстати. Абсолютно как нельзя кстати.Ну расскажи, куда ты его собрался втыкать. Так вроде уже рассказывал. Втыкать я его собрался в вин сервис рассылки уведомлений. Сервис крутится по определенному расписанию и шлет письма. За основу реализации расписания можно взять тот же кварц. НахлобучМСУВо-первых, очередью может быть обычная таблица в БД.И этот человек тут рассуждает про "нагруженные системы". Polling плохо -- это раз. Locking для "select for update" -- это два. Катастрофически разная производительность операций insert/select/delete при таком сценарии работы -- три. Любой из этих пунктов положит твою "нагруженную" систему на лопатки. Ого, давненько так не отжигали на форуме фантазёры. Ну ладно, по-порядку. Polling плох чем и в контексте чего? Откуда Locking на чтение, с дубу рухнул? Срочно читать про изоляции транзакций, недавно одному неучу рассказывал про Lock:Escalation. При правильных индексах и прямых руках у тебя CRUD будет просто летать, а не то, что тормозить. Так что попробуй испугай кого-нибудь другого лопатками. НахлобучМСУВо-вторых, можно ничего этого не делать, а уведомлять по признаку в БД. Признаком может быть любая логическая конструкция в соответствии с требуемой бизнес логикой. Начиная от смены статусов заявки, кончая какими-то иными типами. И никакие очереди тут даром не нужны. После успешной отправки сообщения выставляется флаг отправленного уведомления. Никакой магии, конструкция проста как мир и надежна, как камень.Это опять какие-то пустопорожние сказки. Допустим, наступило какое-то условие -- заявка переведена из статуса А в статус Б. Ты отправляешь уведомление, отправка обламывается. Твои действия? Это не сказки, это простое решение задачи. По твоему примеру, 1. Заявка переведена из статуса А в статус Б 2. Устанавливается флаг "Оповестить" для уведомления подписчикам (отдельная таблица со ссылкой на заявку) 3. Сервис уведомлений согласно расписанию опрашивает флаги этой таблицы и на основе них делает рассылку 4. Письмо выслано, устанавливается флаг в соответствующее значение "Уведомление выслано" 5. Письмо не выслано, устанавливается флаг значение "Ошибка", пишется текст ошибки НахлобучМСУASP.NET Identity имеет самое прямое отношение к отсылке сообщений. Почему? Потому что есть встроенный внятный функционал. И если автору всё-таки захочется отправить сообщения прям из сайта по месту, то это самый подходящий вариант сделать это. При условии, что используется ASP.NET Identity, разумеется.Этот функционал печален и уныл. Identity не менее печален. Microsoft уже показало свою несостоятельность в этом вопросе -- сначала стандартная система авторизации и аутентификации в ASP.NET, потом Membership, потом Identity -- всё это проектировалось и писалось вообще без оглядки на то, как оно должно использоваться. А IIdentityMessageService -- это какой-то огрызок. Огрызок - это то место, которое не думает и не пытается анализировать. IIdentityMessageService - это внятный механизм подключения сервиса сообщений. Причем, можно легко использовать two factor messages. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Так что твои унылые потуги надругаться над ASP.NET Identity идут в лес. Поплачь в другом месте. НахлобучОтправь мне из метода Signup() письмо со вложением и в двух форматах. Пристыкуй для менеджера свой IIdentityMessageService и рассылай хоть корову в мешке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:51 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучhVosttНа кой ляд городить это говнище в коде с созданием каких-то тасков в контроллере? Что с этим убожеством делать потом? Как сопровождать?Таски я не предлагал, привет. Ты предложил прямо по месту отправить сообщение, "Разовая акция". Как это может коррелировать с более или менее внятной архитектурой? Произошла ошибка отправки. Дальше что делать с твоей разовой акцией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:56 |
|
||
|
EmailSender в asp.net mvc
|
|||
|---|---|---|---|
|
#18+
НахлобучhVosttНо вообще, это не требуется. Для массовой рассылки с погремушками нужны другие инструменты и планировщик для этого подходит более чем.Ты точно внимательно читал? Какие массовые рассылки? Ты читаешь посты попой? RDS1) Пользователь вносит заявку, заполняя поля формы; 2) Нажимает кнопку Сохранить; 3) Запускается действие контроллера, там заявка сохранятся в базе через репозиторий. 4) .... и теперь надо разослать копии писем всем заинтересованным лицам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38724574&tid=1357059]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
16ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 291ms |

| 0 / 0 |
