Какое в настоящее время лучшее решение для генерации HTML из шаблонов ASP.NET Razor в консольном приложении?
Я хочу сделать это:
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
И кажется, что http://razorengine.codeplex.com/ идеально подходит, за исключением того, что ему год.
РЕДАКТИРОВАТЬ: Оказывается, что RazorEngine перешел на GitHub и имел комит несколько месяцев назад: https://github.com/Antaris/RazorEngine
Я заметил, что в Service Stack есть собственный Razor-хостинг, но хотя здесь есть длинная страница http://razor.servicestack.net/, нет "привет, вы можете сделать это с консоли".
Какое в настоящее время лучшее решение для генерации HTML из шаблонов ASP.NET Razor в консольном приложении?
4 ответа
Какое в настоящее время лучшее решение для генерации HTML из шаблонов ASP.NET Razor в консольном приложении?
RazorEngine
, Полная остановка.
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();
Вот автономный модульный тест этого примера.
Преимущества использования движка рендеринга представлений ServiceStack Razor включают в себя доступ ко многим HtmlHelpers MVC, которые были портированы в ServiceStack. Вы также можете легко разместить бритвенный веб-сайт с помощью самостоятельно размещенного ServiceStack HttpListener, как показано на http://razor-console.servicestack.net/, исходный код которого доступен в автономном консольном приложении или службе Windows.
У Нэнси есть опция собственного хостинга и возможность подключить Razor в качестве движка просмотра.
https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf
Я бы не назвал это "лучшим на сегодняшний день" решением. Тем не менее, я нашел это довольно интересным, и это позволит вам выполнить то, что вы пытаетесь сделать. Это просто не очень аккуратно завернуто. http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/