ServiceStack是用于呈现Razor视图页面的另一个选项。 尽管它已针对集成到ASP.NET或HttpListener Web Host中进行了优化(并提供了用于在目录中自动发现和注册视图页面,即时重新编译修改后的页面等的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视图呈现引擎的好处包括可以访问许多MVC的HtmlHelpers,这些HtmlHelper已移植到ServiceStack。 您也可以从自托管的ServiceStack HttpListener轻松托管一个razor网站,如razor-console.servicestack.net所示,其源代码可在自托管控制台应用程序或Windows Service中找到。