![](/img/trans.png)
[英]ASP.net Core 2.1 MVC Validation Tag Helper - output HTML (ie stop HTML Encoding)
[英].Net Core 2.1 Cache Tag Helper
似乎无法让它工作。 很简单的场景...
<cache expires-after="@TimeSpan.FromMinutes(10)">
@DateTime.Now
</cache>
在 IISExpress 中的 VS2017 中运行它(在 IIS 10 中也有相同的行为)并在浏览器(Chrome)中点击刷新只是给了我当前时间? 我正在使用 .Net Core 2.1。 我正在部分和视图组件中尝试它,它只是不缓存。
我不确定我做错了什么。
为了记录,我已经添加了..
services.AddMemoryCache();
到启动 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
文件来做到这_ViewImports.cshtml
。
可能还有另一种可能使cache
标签助手无法工作。
即使我正确添加了 Microsoft 标签助手,我也遇到了同样的问题,我的错误是我使用DateTime.Now
作为expires-on
属性。 见下文
<cache expires-on="DateTime.Now.AddDays(1)"> @DateTime.Now </cache>
现在日期时间DateTime.Now
不应用于cache
标记助手,因为每次刷新页面时, expires-on
值都会更改,并导致框架使用新的expires-on
将条目重新添加到缓存中。
我将expires-on="DateTime.Now.AddDays(1)"
更改为expires-after="@TimeSpan.FromMinutes(43200)"
并且它起作用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.