it-swarm.com.de

Was ist die derzeit beste Lösung zum Generieren von HTML aus ASP.NET Razor-Vorlagen in einer Konsolenanwendung?

Ich möchte das machen:

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

Und es scheint, dass http://razorengine.codeplex.com perfekt ist, es sei denn, es ist ein Jahr alt.

BEARBEITEN: Es stellt sich heraus, dass RazorEngine zu GitHub umgezogen ist und vor einigen Monaten ein Commit hatte: https://github.com/Antaris/RazorEngine

Ich habe bemerkt, dass Service Stack einige Razor-Selbsthosting-Dienste hat, aber während es hier eine lange Seite gibt http://razor.servicestack.net , gibt es keine "Hallo Welt", die Sie völlig über eine Konsole machen können.

Was ist die derzeit beste Lösung zum Generieren von HTML aus ASP.NET Razor-Vorlagen in einer Konsolenanwendung?

53
Scott Hanselman

Was ist die derzeit beste Lösung zum Generieren von HTML aus ASP.NET Rasiervorlagen in einer Konsolenanwendung?

RazorEngine . Punkt.

36
Darin Dimitrov

ServiceStack ist eine weitere Option zum Rendern von Razor-Ansichtsseiten. Obwohl es für die Integration in einen ASP.NET oder HttpListener Web Host optimiert ist (und bietet APIs zum automatischen Erkennen und Registrieren von Ansichtsseiten in einem Verzeichnis, zum sofortigen erneuten Kompilieren geänderter Seiten usw.). Außerdem wird die statische Generierung von Ansichtsseiten unterstützt:

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

Hier ist der eigenständige Komponententest dieses Beispiels .

Zu den Vorteilen der Razor View-Rendering-Engine von ServiceStack gehört der Zugriff auf viele der auf ServiceStack portierten HtmlHelper von MVC. Sie können eine Rasierer-Website auch problemlos über einen selbst gehosteten ServiceStack HttpListener hosten, wie in razor-console.servicestack.net angegeben, dessen Quellcode in einer selbst gehosteten Konsole) verfügbar ist Anwendung oder Windows-Dienst .

13
mythz

Nancy hat eine Self-Host-Option und die Möglichkeit, Razor als View-Engine anzuschließen.

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

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

2
Wiktor Zychla

Ich würde dies nicht die "derzeit beste" Lösung nennen. Ich fand es jedoch sehr interessant und es wird Ihnen ermöglichen, das zu erreichen, was Sie versuchen. Es ist einfach nicht sehr ordentlich verpackt. http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/

0
Scott Stevens