什么是.NET控制台应用程序的良好模板引擎?

时间:2010-11-21 00:05:39

标签: asp.net-mvc razor webforms template-engine spark-view-engine

我们正在寻找一种快速,灵活的方法来从.NET控制台应用程序生成模板化内容(在本例中为文本和HTML格式的个性化电子邮件)。

我们没有VirtualPathProvider,也没有有效的HttpContext.Current,从我们最初的实验来看,这意味着使用WebForms视图引擎以及任何其他.NET Web视图引擎非常非常困难(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);

我希望使用复杂的嵌套数据,列表中的大量列表,每分钟最多1,000次。

对于专用模板引擎或在独立上下文中运行Web视图引擎的方法的任何建议都将非常感激:)

谢谢,

迪伦

3 个答案:

答案 0 :(得分:3)

如果您正在寻找有关如何使用Spark实现此目标的一些指导,那么Spark源代码中有一个功能齐全的Email and Text Templating Sample available here

应该注意的是,此示例实际上没有依赖于HttpContext或任何其他Web基础结构。它完全独立,可以像控制台应用程序一样轻松运行。

希望这有帮助,
一切顺利,
罗布

答案 1 :(得分:2)

有很多方法可以从命令行创建模板化内容,NVelocity就是一个例子,但最近我们在CodePlex(http://razorengine.codeplex.com/)上发布了Razor解析器的包装器,我认为这是值得的看看。

答案 2 :(得分:0)

还有一个, StringTemplate Template Engine

但是,我关注RezorTemplateEngine!