c# - tutorial - que es razor v3
¿Cuál es la mejor solución actual para generar HTML a partir de plantillas ASP.NET Razor dentro de una aplicación de consola? (4)
Quiero hacer esto:
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
Y parece que http://razorengine.codeplex.com es perfecto, excepto que tiene un año.
EDITAR: Resulta que RazorEngine se ha movido a GitHub y se ha comprometido hace unos meses: https://github.com/Antaris/RazorEngine
Me di cuenta de que Service Stack tiene algunos autohospedadores de Razor, pero si bien hay una página larga aquí http://razor.servicestack.net, no hay un "mundo de hola que se pueda hacer totalmente desde una consola".
¿Cuál es la mejor solución actual para generar HTML a partir de plantillas ASP.NET Razor dentro de una aplicación de consola?
¿Cuál es la mejor solución actual para generar HTML a partir de plantillas ASP.NET Razor dentro de una aplicación de consola?
https://github.com/Antaris/RazorEngine . Punto final.
Nancy tiene una opción autohospedada y la capacidad de conectar Razor como motor de visualización.
https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf
No llamaría a esto la solución "mejor actual". Sin embargo, me pareció bastante interesante y te permitirá lograr lo que estás tratando de hacer. Simplemente no está muy bien envuelto. http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/
ServiceStack es otra opción para renderizar páginas de vista Razor. Aunque está optimizado para integrarse en un host web ASP.NET o HttpListener (y proporciona API para descubrir automáticamente y registrar páginas de vista en un directorio, volver a compilar páginas modificadas sobre la marcha, etc.), también admite la generación estática de páginas de vista :
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();
Aquí está la prueba de la unidad independiente de este ejemplo .
Los beneficios de usar el motor de renderizado de vistas Razor de ServiceStack incluyen acceso a muchos de los HtmlHelpers de MVC que fueron portados a ServiceStack. También puede albergar fácilmente un sitio web de maquinilla de afeitar desde un HostStack HttpListener autohospedado como se ve en razor-console.servicestack.net , cuyo código fuente está disponible en una aplicación de consola autohospedada o en un servicio de Windows .