我们正在寻找一种快速,灵活的方法来从.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视图引擎的方法的任何建议都将非常感激:)
谢谢,
迪伦
答案 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!