我试图缓存一些昂贵的生成图表。所以我在Web.config
中做到了:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<!-- 4 hours : 60 sec x 60 min x 4 hour = 14400 sec -->
<add name="ChartCacheProfile" duration="14400" varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
我在
Controller
中添加了它:[OutputCache(CacheProfile="ChartCacheProfile")]
public ActionResult GenerateChart()
但这是行不通的...,结果仍然没有被缓存,并且
Action
总是被执行。最多可能需要1分钟才能完成。请注意,每次使用不同的参数调用该网址。该参数与生成的图表无关。这就是为什么我放
varyByParam="none"
。 最佳答案
我怀疑这确实是一个错误。对我有用的是在VaryByParam
属性中显式设置OutputCache
:
[OutputCache(CacheProfile="ChartCacheProfile", VaryByParam="None")]
public ActionResult GenerateChart()
关于asp.net - ASP.NET OutputCache variantByParam在Web.config中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23764926/