Мы ищем быстрый и гибкий способ создания шаблонного контента (в данном случае персонализированных сообщений электронной почты в текстовом и HTML-формате) из консольного приложения .NET.Что такое хороший шаблон для консольного приложения .NET?
У нас нет VirtualPathProvider и нет действительного HttpContext.Current, что из наших первоначальных экспериментов означает, что очень сложно использовать механизм просмотра WebForms и любой другой механизм просмотра веб-страниц .NET (Spark , Razor) понадобятся обширная сантехника, чтобы заставить их думать, что они работают в веб-приложении.
Я хочу сделать что-то вроде:
var customerTemplateData = GetTemplateDate(customer);
var htmlBody = templateEngine.Render("template.html", customerTemplateData);
var textBody = templateEngine.Render("template.txt", customerTemplateDate);
SendMail("[email protected]", customer.Email, "Hey there!", htmlBody, textBody);
, и я хочу сделать это со сложными вложенными данными, большим количеством списков внутри списков, до 1000 раз в минуту.
Любые рекомендации для специальных шаблонов двигателей или для способов запуска веб-просмотра двигателей в автономном контексте были бы весьма признательны :)
Спасибо,
Дилан
Наконец-то мне удалось заставить Spark делать то, что мне нужно, но потребовалось немного взлома - две крошечные изменения в основной библиотеке и впрыск SparkSettings прямо в движок вместо того, чтобы полагаться на файл App.config (по какой-то причине он не смог загрузить обработчик SparkConfiguration в консольном приложении?) Рабочий код в моей вилке Github; примите мой запрос на тягу, и я приму ваш ответ. :) –
У меня есть вытащить req на вкладке :) Просто ждать, чтобы получить некоторое время, чтобы правильно пройти через нее - но это выглядит очень хорошо. Спасибо за вклад, который более ценен, чем принятый ответ;) – RobertTheGrey
OK, он втянут, так что вы можете вернуть основное репо сейчас. Еще раз спасибо за вклад. Никаких изменений в основной библиотеке не требуется, но я исправил ваш образец, чтобы использовать его правильно. Получайте удовольствие от этого! :) – RobertTheGrey