Использование шаблонов Razor, хранящихся в Razor Class Library 3.0 (RCL) без веб-приложения AspNetCore - PullRequest
1 голос
/ 24 октября 2019

Я использую шаблоны Razor (cshtml) для создания HTML для использования в электронных письмах. Хотя я могу заставить все это работать и отправлять электронную почту из веб-приложения ASPNetCore 3.0, на самом деле я хочу отправить электронную почту от другого процесса, который НЕ является веб-приложением. В идеале я хотел бы поставить в очередь электронную почту, которая может быть запущена из любого числа внутренних процессов, а затем отправить их из службы, подобной таймеру, которая работает как служба Windows или, возможно, как вспомогательный работник, работающий в Azure, через что-то вроде функций.

Есть ли способ использовать бритвенные шаблоны из RCL в консоли .NetCore или в другом приложении, НЕ размещенном в AspNetCore?

Ответы [ 3 ]

0 голосов
/ 30 октября 2019

Если я правильно понимаю ваш вопрос, вы можете использовать RazorEngine , который я использовал в .NET Framework 4.6.2 Library Class. Существует также .Net Core Nuget .

Я ссылался на такие проекты библиотеки классов из консольных приложений, служб Windows и облачных служб Azure (рабочие роли).

ВВ моей настройке я должен был пометить файлы Razor как содержимое, чтобы они были скопированы в папку bin. Кроме того, это усложняется, если на библиотеку ссылается другая библиотека, а затем эта библиотека используется;содержимое не копировалось или выровнялось (все виды бритвы оказались в корне папки bin по сравнению со следующими структурами каталогов), для этого есть исправление, отредактировав файл проекта и добавив свои собственные задачи сборки копии. Или мне пришлось встроить бритвенные виды в DLL.

В последние годы это может быть улучшено, поскольку я сказал, что использовал RazorEngine несколько лет назад. И он может быть другим в .Net Core RCL, но я считаю, что это возможно.

В настоящее время я использую сторонние сервисы, такие как SendGrid или MailJet. Для меня их использование позволяет избежать большинства вышеперечисленных проблем и предлагает лучшее понимание электронных писем / шаблонов / кампаний для маркетологов и других не технических пользователей. Они могут редактировать и изменять шаблоны по своему вкусу без (m) развертывания кода.

0 голосов
/ 04 ноября 2019

Вы должны запустить код через ядро ​​ASP.net, чтобы код Razor конвертировался в html. В противном случае используйте простой HTML-шаблон.

0 голосов
/ 30 октября 2019

Я думаю, что нет способа сделать это, я сэр. (

...