什么是一个控制台应用程序中生成从ASP.NET剃刀模板HTML目前最好的解决办法?(What'

2019-07-18 01:00发布

我想做这个:

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

并且看起来http://razorengine.codeplex.com是完美的,除了它的一岁。

编辑:原来,RazorEngine已经转移到GitHub上,并已提交了几个月回: https://github.com/Antaris/RazorEngine

我注意到,服务栈有一些剃刀自托管,但同时,这里有一个很长的网页http://razor.servicestack.net没有“世界你好,你完全可以从一个控制台做到这一点。”

什么是一个控制台应用程序中生成从ASP.NET剃刀模板HTML目前最好的解决办法?

Answer 1:

什么是一个控制台应用程序中生成从ASP.NET剃刀模板HTML目前最好的解决办法?

RazorEngine 。 句号。



Answer 2:

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();

下面是这个例子中的独立单元测试 。

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



Answer 3:

南希具有自主选项,并堵塞剃刀作为视图引擎的能力。

https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf

https://github.com/NancyFx/Nancy/wiki/Razor-View-Engine



Answer 4:

我不会把这个“当前最好”的解决方案。 不过,我觉得这是很有趣的,它可以让你完成你正在尝试做的。 它只是不是很整齐地包裹起来。 http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/



文章来源: What's the current best solution for generating HTML from ASP.NET Razor templates within a Console Application?