Подтвердить что ты не робот

Какое текущее лучшее решение для генерации HTML из шаблонов ASP.NET Razor в консольном приложении?

Я хочу сделать это:

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

И похоже, что http://razorengine.codeplex.com совершенен, за исключением года.

EDIT: Оказывается, что RazorEngine переместился в GitHub и получил несколько месяцев назад: https://github.com/Antaris/RazorEngine

Я заметил, что Service Stack имеет собственный хостинг Razor, но в то время как там длинная страница http://razor.servicestack.net нет "привет мир, который вы можете полностью сделайте это с консоли."

Какое текущее лучшее решение для генерации HTML из шаблонов ASP.NET Razor в консольном приложении?

4b9b3361

Ответ 1

Какое текущее лучшее решение для генерации HTML из ASP.NET Шаблоны бритвы в консольном приложении?

RazorEngine. Полная остановка.

Ответ 2

ServiceStack - еще один вариант для рендеринга страниц Razor. Хотя он оптимизирован для интеграции в веб-хост ASP.NET или HttpListener (и предоставляет API для автоматического обнаружения и регистрации страниц просмотра в каталоге, повторная компиляция измененных страниц на муха и т.д.), он также поддерживает статическое создание страниц просмотра:

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

Здесь находится автономный unit test этого примера.

Преимущества использования механизма рендеринга представления ServiceStack Razor включают доступ ко многим из MVC HtmlHelpers, которые были перенесены в ServiceStack. Вы также можете легко разместить веб-сайт бритвы из самообслуживаемого ServiceStack HttpListener, как показано в razor-console.servicestack.net, исходный код которого доступен в Self-Hosted Console Application или Служба Windows.