c# - .Net Core 2.1 缓存标签助手
问题描述
似乎无法让它工作。很简单的场景...
<cache expires-after="@TimeSpan.FromMinutes(10)">
@DateTime.Now
</cache>
在 IISExpress 中的 VS2017 中运行它(在 IIS 10 中也有同样的行为)并在浏览器(Chrome)中点击刷新只是给了我当前时间?我正在使用.Net Core 2.1。我正在部分和视图组件中尝试它,它只是不缓存。
我不确定我做错了什么。
为了记录,我已经添加了..
services.AddMemoryCache();
到 Startup ConfigureServices 方法(尽管根据文档(https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/cache-tag-helper?view= aspnetcore-2.1),我什至不需要这样做,因为它是自动添加的 - 它在底部这么说)。
这也是使用 Razor 页面
解决方案
问题可能是您没有添加标签助手。作为故障排除步骤,将标签助手添加到具有该<cache>
元素的视图中。
_SomePartial.cshtml
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
<cache expires-after="@TimeSpan.FromMinutes(10)">
@DateTime.Now
</cache>
如果这样可以解决问题,您可能希望使标签助手可用于整个目录,而不仅仅是一个文件。通过将addTagHelper
指令移动到_ViewImports.cshtml
文件来做到这一点。
推荐阅读
- go - 使用 goroutine 进行矩阵乘法会降低性能
- matlab - 为什么我在 Matlab ode45 求解器中出现“使用 vertcat 时出错”?
- r - R dplyr: rowwise + mutate (+glue) - 如何获取/引用行内容?
- sql - 减少查询响应时间,需要优化查询
- pandas - Pandas:1个数据框比较行以创建新列
- mysql - Php/mysql 如何使用像通配符一样的前导和额外的查询优化来加快查询速度?
- c++ - 在 mac OSX 上使用 https 在 c++ 中卷曲,通过 valgrind 导致分段错误
- php - Seeder 已经存在:类 LaravelSeeder 不存在
- php - 从分层自定义帖子类型中删除基本 slug
- java - 为什么88代表'X'的字符代码?