Razor 寻找在没有任何web服务器的控制台应用程序中呈现HTML页面的最简单选项
我一直在使用邮件合并样式的模板应用程序 随着ASP.NET核心体系结构的出现,我希望能够将cshtml页面呈现为字符串,而不需要任何额外的库包 我可以这样做吗?如果是,链接到示例代码将是一个很大的帮助Razor 寻找在没有任何web服务器的控制台应用程序中呈现HTML页面的最简单选项,razor,asp.net-core,razor-pages,Razor,Asp.net Core,Razor Pages,我一直在使用邮件合并样式的模板应用程序 随着ASP.NET核心体系结构的出现,我希望能够将cshtml页面呈现为字符串,而不需要任何额外的库包 我可以这样做吗?如果是,链接到示例代码将是一个很大的帮助 这个想法来自Linux,我们可以在命令行report.PHP中呈现PHP文件,然后输出到stdout。不需要Web服务器。经过这么多年,我希望我们可以用cshtml做同样的事情 您不需要web服务器。有许多模板引擎可用。我个人使用的RazorLight与asp.net core配合良好: 要在控制
这个想法来自Linux,我们可以在命令行report.PHP中呈现PHP文件,然后输出到stdout。不需要Web服务器。经过这么多年,我希望我们可以用cshtml做同样的事情 您不需要web服务器。有许多模板引擎可用。我个人使用的RazorLight与asp.net core配合良好: 要在控制台应用程序中输出文本,只需使用
// c#
Console.Write("my text");
// php
echo "my text";
要基于模板输出文本(使用RazorLight),请执行以下操作:
(根据评论编辑)你的“不,你不能(因为在大多数其他语言中是这样)”指的是什么?你说:“和(imho)为什么要在语言的核心包括模板引擎功能”,但这不是我要问的。asp.net核心中已包含cshtml呈现。我所要求的是找到一种简单的方法来呈现它们,而不依赖于HTTP请求。
var engine = new RazorLightEngineBuilder()
.UseMemoryCachingProvider()
.Build();
string template = "Hello, @Model.Name. Welcome to RazorLight repository";
ViewModel model = new ViewModel() { Name = "John Doe" };
string result = await engine.CompileRenderAsync("templateKey", template, model);
Console.Write(result);