2013-01-09 13 views
53

chcę to zrobić:Jakie jest obecnie najlepsze rozwiązanie do generowania kodu HTML z szablonów maszynki ASP.NET w aplikacji konsolowej?

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

I wydaje się, że http://razorengine.codeplex.com jest doskonały, oprócz tego, że jest letni.

EDIT: Okazuje się, że RazorEngine została przeniesiona do GitHub i miał popełnić kilka miesięcy temu: https://github.com/Antaris/RazorEngine

zauważyłem, że obsługa Stos ma pewne Razor własny hosting, ale jednocześnie istnieje tu długa strona http://razor.servicestack.net nie ma " cześć, możesz to zrobić całkowicie z konsoli. "

Jakie jest obecnie najlepsze rozwiązanie do generowania kodu HTML z szablonów maszynki ASP.NET w aplikacji konsolowej?

+5

Spróbuj również https://github.com/jlamfers/RazorMachine – MikeSW

Odpowiedz

35

Jaki jest obecny najlepszym rozwiązaniem dla generowania HTML z ASP.NET szablonów Razor wewnątrz aplikacji konsoli?

RazorEngine. Kropka.

+1

Czy poleciłbyś blog, który idzie krok po kroku, aby to zadziałało? Szukałem ostatniej godziny i jest to jedyny link, który znalazłem http://mehdi.me/generating-html-emails-with-razorengine-introduction/#start. Postępowałem zgodnie z samouczkiem, ale otrzymałem komunikat o błędzie podczas kompilowania szablonu. – akd

+1

FYI: "Ten projekt szuka nowych opiekunów, więc jeśli chcesz pomóc pisać na gitter lub rozpocząć wysyłanie PRs :)" –

1

Nancy ma opcję samodzielnego hostowania i możliwość podłączenia Razor jako przeglądarki.

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

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

+0

Czy uważasz, że to trochę przesada dla aplikacji konsolowej? Nie próbuję podawać kodu HTML, próbuję go wygenerować. –

+0

Oczywiście, nie bije RazorMachine pod względem prostoty. Ale jeśli kiedykolwiek potrzebujesz lekkiego hosta, masz kandydata. –

13

ServiceStack to kolejna opcja do renderowania stron widoku maszynki. Mimo że jest zoptymalizowany pod kątem integracji z hostem sieci Web (ASP.NET lub HttpListener (i zapewnia interfejsy API do automatycznego wykrywania i rejestrowania stron widoku w katalogu, ponownego kompilowania zmodyfikowanych stron w locie itp.), Obsługuje również statyczne generowanie widoków stron:

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.

Korzyści z używania mechanizmu renderowania widoku Razor w ServiceStack obejmują dostęp do wielu HtmlHelperów MVC, które zostały przeniesione do ServiceStack. Możesz także łatwo obsługiwać witrynę maszynki do golenia z samodzielnie hostowanego HtpListener ServiceStack, jak widać w razor-console.servicestack.net, którego kod źródłowy jest dostępny w Self-Hosted Console Application lub Windows Service.

+2

ServiceStack został już komercyjny; jeśli nie piszesz open source, prawdopodobnie będziesz musiał go licencjonować. Starsze wersje to BSD; nowsze to GNU Affero GPL (chyba że jest to licencjonowane). Zobacz https://servicestack.net/download i https://servicestack.net/pricing – TrueWill

Powiązane problemy