出于性能目的,我需要缓存主页操作的结果,同时允许登录用户的显示名称保持未缓存状态。
我曾经使用DonutOutputCache在 ASP.NET MVC Framework 项目中实现类似的功能。该系统非常有用,因为您可以将整个操作放入输出缓存,同时在缓存之外保留部分视图结果。因此,我可以有三个或四个需要个性化的部分——例如,调查、分析标签、用户名和头像、基于行为的文章列表等)。
你知道我是否可以使用 ASP.NET Core 的新[OutputCache]
属性或<cache />
标记助手来处理这个问题?
此刻,我把整个主页放到了一个经典的内存缓存中。拥有这种标签助手真是太棒了:
<cache expires-after="TimeSpan.FromMinutes(60)">
@*Cached part*@
<cache-hole>
@*Refreshed on each page refresh. This could work with a ResponseCache attribute too.*@
@await Components.InvokeAsync("UserProfile")
</cache-hole>
</cache>