Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
7年前关闭。
Improve this question
有人可以解释一下两者之间的优缺点吗
RazorEngine
RazorTemplates
RazorMachine
我需要选择一个用于生成电子邮件。要求很常见:快速,易用。似乎它们都具有我需要的所有功能,但是由于我是Razor新手,所以我还不清楚哪个更好。
谢谢。 RazorEngine -最简单并且在所有这些工具中效果最好,默认情况下支持缓存。 RazorTemplates -不支持某些Razor指令(例如@model),并使用许多 RazorMachine -非常不可预测,设计奇怪,需要使用全局单个实例而不是静态类。
对于我来说,我选择了RazorEngine。这也是如何使用这些库的代码:
RazorEngine
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
7年前关闭。
Improve this question
有人可以解释一下两者之间的优缺点吗
RazorEngine
RazorTemplates
RazorMachine
我需要选择一个用于生成电子邮件。要求很常见:快速,易用。似乎它们都具有我需要的所有功能,但是由于我是Razor新手,所以我还不清楚哪个更好。
谢谢。
最佳答案
我自己尝试了所有3个库,发现了一些不同之处。
dynamic
类型。可以使用预编译的模板。 对于我来说,我选择了RazorEngine。这也是如何使用这些库的代码:
RazorEngine
string html = Razor.Parse(templateContent, model, templatePath);
RazorTemplates if (!_templatesCache.ContainsKey(templatePath))
{
var compiledTemplate = Template.Compile(templateContent);
_templatesCache.Add(templatePath, compiledTemplate);
}
string html = _templatesCache[templatePath].Render(model);
Razor 机器private readonly Lazy<RazorMachine> _lazyRazorMachine =
new Lazy<RazorMachine>(() => new RazorMachine());
//...
var rm = _lazyRazorMachine.Value;
string html = rm.ExecuteContent(templateContent, model, null, true).Result;
还有一些性能测试,在同一个模板上对每个库进行了2次测试,所有这些测试都具有相似的性能,而没有太大的区别:关于.net - RazorEngine vs RazorTemplates vs RazorMachine ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18253822/
10-12 21:07