我们正在寻找一种快速,灵活的方式从.NET控制台应用程序生成模板化内容(本例中为文本和HTML格式的个性化电子邮件)。什么是.NET控制台应用程序的良好模板引擎?
我们没有VirtualPathProvider,也没有有效的HttpContext.Current,从我们最初的实验来看,这意味着要使用WebForms视图引擎和任何其他.NET web视图引擎(Spark ,Razor)将需要大量的管道工作,使他们认为他们正在运行在一个Web应用程序。
我想要做的事,如:
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次做到这一点。
专用的模板引擎或方法在单机环境下运行的Web视图引擎的任何建议将最赞赏:)
感谢,
迪伦
我终于设法让Spark做我所需要的,但它花了一些黑客攻击 - 对核心库进行了两处微小更改,并将SparkSettings直接注入引擎而不是依赖App.config文件(出于某种原因它无法加载控制台应用程序中的SparkConfiguration处理程序?) 工作代码在我的Github fork中;接受我的拉取请求,我会接受你的回答。 :) – 2010-11-22 22:15:16
我已经有拉请求在标签中打开:)只是等待一段时间来正确地通过它 - 但它看起来非常好。感谢您的贡献 - 这比接受的答案更有价值;) – RobertTheGrey 2010-11-25 00:10:28
确定它已被拉入,所以您现在可以参考主要的回购。再次感谢贡献。不需要更改核心库,但是我修正了您的示例以正确使用它。玩得开心! :) – RobertTheGrey 2010-11-25 23:09:03