54 votes

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

Je veux faire ceci:

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

Et il semblerait que http://razorengine.codeplex.com soit parfait, sauf qu'il a un an.

EDIT: Il s'avère que RazorEngine a déménagé sur GitHub et a eu un commit il y a quelques mois: https://github.com/Antaris/RazorEngine

J'ai remarqué que Service Stack propose un hébergement Razor mais même s'il y a une longue page ici http://razor.servicestack.net, il n'y a pas de "hello world vous pouvez totalement le faire depuis une console".

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

37voto

Darin Dimitrov Points 528142

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

RazorEngine. Point final.

14voto

mythz Points 54874

ServiceStack est une autre option pour le rendu des pages de vues 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 de vues dans un répertoire, la recompilation des pages modifiées à la volée, etc.), il prend également en charge la génération statique de pages de vues :

var razor = new RazorFormat {
    VirtualPathProvider = new InMemoryVirtualPathProvider(new BasicAppHost()),
    EnableLiveReload = false, //ne pas rechercher les changements dans le système de fichiers
}.Init();

var page = razor.CreatePage("Bonjour @Model.Name! Bienvenue sur Razor!");
var html = razor.RenderToHtml(page, new { Name = "Monde" });
html.Print();

Voici le test unitaire autonome de cet exemple.

Les avantages de l'utilisation du moteur de rendu de vues Razor de ServiceStack incluent l'accès à de nombreux HtmlHelpers de MVC qui ont été portés vers ServiceStack. Vous pouvez également facilement héberger un site web razor à partir d'un ServiceStack HttpListener auto-hébergé comme on peut le voir sur razor-console.servicestack.net, dont le code source est disponible dans une Application Console Auto-hébergée ou un Service Windows.

2voto

Wiktor Zychla Points 23918

Nancy a une option d'auto-hébergement et la possibilité de brancher Razor en tant que moteur de vue.

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

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

0voto

Scott Stevens Points 166

Je ne qualifierais pas cela de la "meilleure solution" actuelle. Cependant, je l'ai trouvé assez 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/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X