首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RazorEngine对RazorTemplates对RazorMachine

RazorEngine对RazorTemplates对RazorMachine
EN

Stack Overflow用户
提问于 2013-08-15 13:34:57
回答 3查看 5.6K关注 0票数 21

谁能解释一下两者之间的区别、利弊

RazorEngine

RazorTemplates

RazorMachine

我需要选择一个电子邮件生成。要求是相当常见的:快速,易用性.似乎他们都有我需要的所有功能,但因为我是Razor新手,所以我不太清楚哪一个更好。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-30 11:23:55

我自己试过所有三个库,并发现了几个不同之处。

  • RazorEngine --其中最简单且工作最好的一种,默认支持缓存。
  • RazorTemplates -不支持某些Razor指令(例如@model),并且使用了很多dynamic类型。可以使用预编译模板。
  • RazorMachine --非常不可预测,并且有一个奇怪的设计,需要使用全局单个实例而不是静态类。

至于我,我选择了RazorEngine。下面还有如何使用这些库的代码:

RazorEngine

代码语言:javascript
复制
string html = Razor.Parse(templateContent, model, templatePath);

RazorTemplates

代码语言:javascript
复制
if (!_templatesCache.ContainsKey(templatePath))
{
    var compiledTemplate = Template.Compile(templateContent);
    _templatesCache.Add(templatePath, compiledTemplate);
}

string html = _templatesCache[templatePath].Render(model);

RazorMachine

代码语言:javascript
复制
private readonly Lazy<RazorMachine> _lazyRazorMachine = 
    new Lazy<RazorMachine>(() => new RazorMachine());
//...

var rm = _lazyRazorMachine.Value;
string html = rm.ExecuteContent(templateContent, model, null, true).Result;

还有一些性能测试,在同一个模板上对每个库进行了2次测试,它们都具有相似的性能,但没有很大的差异:

RazorEngine - 1731 ms,0.1ms RazorTemplates - 1753 ms,0.1ms RazorMachine - 1608 ms,0.1ms

票数 19
EN

Stack Overflow用户

发布于 2013-08-15 13:48:10

我使用RazorEngine生成电子邮件,它运行得很好。从其他两个项目来看,他们似乎也是这样做的--托管MS。不管怎样,你可以推荐后者作为你的目的。

票数 0
EN

Stack Overflow用户

发布于 2013-08-15 13:50:55

使用,https://github.com/smsohan/MvcMailer它确实有助于制作基于MVC Razor的电子邮件。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18253822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档