Каково текущее лучшее решение для генерации 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



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



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

749   4  

4 ответов:

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

RazorEngine. Точка.

ServiceStack-это еще один вариант рендеринга страниц Razor view. Хотя он оптимизирован для интеграции в 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();

вот автономный модульный тест этого примера.

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

Нэнси имеет вариант собственн-хозяина и способность заткнуть бритву как двигатель взгляда.

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

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

Я бы не назвал это "текущим лучшим" решением. Тем не менее, я нашел это довольно интересным, и это позволит вам выполнить то, что вы пытаетесь сделать. Просто он не очень аккуратно завернут. http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/

Comments

    Ничего не найдено.