从控制台应用程序中的ASP.NET Razor模板生成HTML的当前最佳解决方案是什么?

Sco*_*man 53 c# asp.net asp.net-mvc razor servicestack

我想做这个:

string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
Run Code Online (Sandbox Code Playgroud)

似乎http://razorengine.codeplex.com是完美的,除了它已经一岁了.

编辑:事实证明RazorEngine已经转移到GitHub并在几个月前提交了一个提交:https://github.com/Antaris/RazorEngine

我注意到Service Stack有一些Razor自托管,但是这里有一个很长的页面http://razor.servicestack.net没有"你好世界,你可以从控制台完全做到这一点."

从控制台应用程序中的ASP.NET Razor模板生成HTML的当前最佳解决方案是什么?

Dar*_*rov 36

从控制台应用程序中的ASP.NET Razor模板生成HTML的当前最佳解决方案是什么?

RazorEngine.完全停止.

  • 仅供参考:“此项目正在寻找新的维护者,因此,如果您想帮助撰写有关问题或开始发送PR的信息:) (2认同)

myt*_*thz 13

ServiceStack是渲染Razor视图页面的另一种选择.虽然它对于优化整合成一个ASP.NETHttpListener虚拟主机(并提供API对目录中的自动发现和注册视图页面,重新编制上的苍蝇,等修改的页面),它也支持静态生成视图页面:

var razor = new RazorFormat {
    VirtualPathProvider = new InMemoryVirtualPathProvider(new BasicAppHost()),
    EnableLiveReload = false, //don't scan for file system for changes
}.Init();

var page = razor.CreatePage("Hello @Model.Name! Welcome to Razor!");
var html = razor.RenderToHtml(page, new { Name = "World" });
html.Print();
Run Code Online (Sandbox Code Playgroud)

这是本例的独立单元测试.

使用ServiceStack的Razor视图呈现引擎的好处包括访问许多移植到ServiceStack的MVC的HtmlHelper.您也可以轻松地从一个自托管ServiceStack HttpListener在看到托管剃刀网站razor-console.servicestack.net,源代码在其中可用的自托管控制台应用程序Windows服务.

  • ServiceStack已经商业化; 如果你不写开源,你可能需要许可它.旧版本是BSD; 较新的是GNU Affero GPL(除非获得许可).请参阅https://servicestack.net/download和https://servicestack.net/pricing (2认同)