2013-01-09 3 views
53

Voglio fare questo:Qual è la migliore soluzione corrente per la generazione di HTML da modelli di Rasoio ASP.NET all'interno di un'applicazione console?

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

e sembra che http://razorengine.codeplex.com è perfetto, tranne che è un anno di età.

EDIT: Risulta che RazorEngine si è trasferito in GitHub ed aveva un commit qualche mese fa: https://github.com/Antaris/RazorEngine

ho notato che servizio Stack ha qualche Razor self-hosting, ma mentre c'è una pagina lunga qui http://razor.servicestack.net non c'è " ciao mondo puoi farlo totalmente da una console. "

Qual è la migliore soluzione corrente per la generazione di HTML da modelli di Rasoio ASP.NET all'interno di un'applicazione console?

+5

Prova anche questo https://github.com/jlamfers/RazorMachine – MikeSW

risposta

35

Qual è la migliore soluzione attuale per la generazione di codice HTML da ASP.NET modelli Razor all'interno di un'applicazione console?

RazorEngine. Punto.

+1

Consiglieresti ad un blog che passi passo dopo passo a ottenere questo lavoro? Ho cercato un'ultima ora e questo è l'unico link che ho trovato http://mehdi.me/generating-html-emails-with-razorengine-introduction/#start. Ho seguito il tutorial ma ricevendo errori durante la compilazione di un modello. – akd

+1

FYI: "Questo progetto è alla ricerca di nuovi manutentori, quindi se vuoi aiutare a scrivere su gitter o iniziare a inviare PR :)" –

13

ServiceStack è un'altra opzione per il rendering delle pagine di visualizzazione Razor. Sebbene sia ottimizzato per l'integrazione in un ASP.NET o HttpListener Web Host (e fornisce API per l'auto-discovery e la registrazione di pagine di visualizzazione in una directory, ricompilare le pagine modificate al volo, ecc.), Supporta anche la staticità generazione di pagine di visualizzazione:

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

Here's the stand-alone unit test of this example.

I vantaggi dell'utilizzo del motore di rendering di visualizzazione Razor di ServiceStack includono l'accesso a molti HtmlHelpers MVC portati su ServiceStack. È anche possibile ospitare facilmente un sito Web del rasoio da un ServiceStack HttpListener ospitato come mostrato in razor-console.servicestack.net, il cui codice sorgente è disponibile in un Self-Hosted Console Application o Windows Service.

+2

ServiceStack è diventato commerciale; se non stai scrivendo open source, probabilmente dovrai licenziarlo. Le versioni precedenti sono BSD; più recenti sono GNU Affero GPL (salvo licenza). Vedi https://servicestack.net/download e https://servicestack.net/pricing – TrueWill

Problemi correlati