web-dev-qa-db-fra.com

Quelle est actuellement la meilleure solution pour générer du HTML à partir de modèles ASP.NET Razor dans une application console?

Je veux faire ça:

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

Et il semble que http://razorengine.codeplex.com est parfait, sauf que c'est un an.

EDIT: Il s’avère que RazorEngine a été transféré sur GitHub et s’est engagé quelques mois auparavant: https://github.com/Antaris/RazorEngine

J'ai remarqué que Service Stack possède une certaine autonomie d'hébergement Razor, mais bien qu'il y ait une longue page ici http://razor.servicestack.net il n'y a pas de "bonjour le monde, vous pouvez totalement le faire à partir d'une console".

Quelle est actuellement la meilleure solution pour générer du HTML à partir de modèles ASP.NET Razor dans une application console?

53
Scott Hanselman

Quelle est actuellement la meilleure solution pour générer du HTML à partir d’ASP.NET Modèles de rasoir dans une application console?

RazorEngine . Arrêt complet.

36
Darin Dimitrov

ServiceStack est une autre option pour le rendu des pages de vue Razor. Bien qu'il soit optimisé pour l'intégration dans un hôte Web ASP.NET ou HttpListener (et fournit des API pour la découverte automatique et l'enregistrement des pages d'affichage dans un répertoire, la recompilation à la volée des pages modifiées, etc.), il prend également en charge la génération statique de pages de vue:

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

Voici le test unitaire autonome de cet exemple .

Les avantages de l'utilisation du moteur de rendu de vue Razor de ServiceStack incluent l'accès à de nombreux outils HtmlHelpers de MVC qui ont été portés sur ServiceStack. Vous pouvez également facilement héberger un site Web de rasoir à partir d'un auto-hébergé ServiceStack HttpListener, comme indiqué dans razor-console.servicestack.net , dont le code source est disponible dans une application de console Self-Hosted Console ou Service Windows .

13
mythz

Nancy a une option d’auto-hôte et une possibilité de connecter Razor en tant que moteur de visualisation.

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

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

2
Wiktor Zychla

Je n'appellerais pas cela la "meilleure solution actuelle". Cependant, je l’ai trouvé très intéressant et cela vous permettra d’accomplir ce que vous essayez de faire. Ce n'est tout simplement pas très bien emballé. http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/

0
Scott Stevens