C# 如何在使用SpaPrerenderingExtensions时设置自定义标题并启用压缩?
我有一个Angular应用程序,在.NETCore后端启用了服务器端渲染 对于预渲染,我的启动文件中有以下代码:C# 如何在使用SpaPrerenderingExtensions时设置自定义标题并启用压缩?,c#,angular,asp.net-core,server-side-rendering,asp.net-core-3.1,C#,Angular,Asp.net Core,Server Side Rendering,Asp.net Core 3.1,我有一个Angular应用程序,在.NETCore后端启用了服务器端渲染 对于预渲染,我的启动文件中有以下代码: spa.UseSpaPrerendering(options => { options.BootModulePath = $"{spa.Options.SourcePath}/server/main.js"; options.BootModuleB
spa.UseSpaPrerendering(options =>
{
options.BootModulePath = $"{spa.Options.SourcePath}/server/main.js";
options.BootModuleBuilder = env.IsDevelopment() ? new AngularCliBuilder(npmScript: "build:ssr") : null;
options.ExcludeUrls = new[] { "/sockjs-node"};
});
在当前实施的UseSpaPrerendering
中,在“我的启动”中设置的自定义标题和压缩设置将被忽略。我做了一点调查,发现
SpaPrerenderingExtensions
中的ServePrenderResult
方法可在Microsoft.AspNetCore.SpaServices.Extensions
下获得,该方法清除启动文件中设置的所有头,因为其中包含以下代码:
context.Response.Clear();
现在,我有两个目标:
MaxAge
标题)Microsoft.AspNetCore.SpaServices.Extensions
已被标记为已弃用
,不再维护
请任何人指导实现上述目标的方法
我能想到的一个解决方案是从
重命名UseSpaPrerendering
,注释掉context.Response.Clear()
然后在我的启动中使用此方法
我不确定这种方法是否合适
如果这种方法是正确的,请任何人指导是否是该文件的最新版本
我目前在采用这种方法时面临的一个问题是由于以下代码:
await buildOnDemandTask.WithTimeout(buildTimeout,
$"The prerendering build process did not complete within the " +
$"timeout period of {buildTimeout.Seconds} seconds. " +
$"Check the log output for error information.");
编译器抛出有关buildOnDemandTask的错误。WithTimeout
:
任务不包含带超时的定义
任何帮助都将不胜感激
谢谢大家!