Какой хороший шаблонизатор для консольного приложения.NET?

Мы ищем быстрый и гибкий способ создания шаблонного контента (в данном случае персонализированной электронной почты в текстовом и HTML-формате) из консольного приложения.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("me@mydomain.com", customer.Email, "Hey there!", htmlBody, textBody);

и я хочу сделать это со сложными вложенными данными, множеством списков внутри списков, до 1000 раз в минуту.

Любые рекомендации для специализированных шаблонизаторов или способов запуска движков веб-представления в автономном контексте были бы очень полезны:)

Спасибо,

Dylan

3 ответа

Решение

Если вы ищете руководство по достижению этой цели с помощью Spark, в исходном коде Spark есть полностью функциональный образец шаблонов электронной почты и текста.

Следует отметить, что на самом деле этот пример не зависит от HttpContext или любой другой веб-инфраструктуры. Он полностью независим и может запускаться так же легко, как консольное приложение.

Надеюсь это поможет,
Всего наилучшего,
обкрадывать

Существует довольно много способов создания шаблонного контента из командной строки, например, NVelocity, но также недавно мы выпустили нашу оболочку синтаксического анализатора Razor на CodePlex ( http://razorengine.codeplex.com/), которую я считаю стоит посмотреть в

Еще один механизм шаблонов StringTemplate.

Тем не менее, я обращаю внимание на RezorTemplateEngine!

Другие вопросы по тегам