【发布时间】:2021-08-12 11:14:38
【问题描述】:
我的项目中有一个自定义 NotFound 页面,每个错误的 URL 都通过此代码重定向到它:
在startup.cs中:
app.UseStatusCodePagesWithRedirects("/not-found");
我想通过cache policy 提供这个静态页面。我该怎么做?
【问题讨论】:
标签: c# asp.net asp.net-core caching asp.net-core-3.1
我的项目中有一个自定义 NotFound 页面,每个错误的 URL 都通过此代码重定向到它:
在startup.cs中:
app.UseStatusCodePagesWithRedirects("/not-found");
我想通过cache policy 提供这个静态页面。我该怎么做?
【问题讨论】:
标签: c# asp.net asp.net-core caching asp.net-core-3.1
你可以先安装这个nuget包:
WebEssentials.AspNetCore.OutputCaching
然后在startup.cs中添加这些代码:
services.AddOutputCaching(); //ConfigureServices()
和
app.UseOutputCaching(); //Configure()
最后,添加 OutputCache 属性到你的 notfound() 动作,然后它的输出将被缓存:
[OutputCache(Duration = 6000)] //cache 6000 seconds
public IActionResult notfound()
{
return View(DateTime.Now);
}
结果:
【讨论】:
[ResponseCache(VaryByHeader = "User-Agent", Duration = '<Time>')].