Sitecore可缓存&;盒式录音带

Sitecore可缓存&;盒式录音带,sitecore,sitecore8,sitecore-mvc,Sitecore,Sitecore8,Sitecore Mvc,在渲染标记的内部,我使用Bundles.reference添加了对一系列.less文件的引用。当我在此组件上启用缓存时,较少的文件将不会添加到 不能同时拥有缓存(输出缓存)和期望执行代码。所以要么缓存,然后需要将代码放在其他地方。或者您不(输出)缓存。但是(输出)缓存和执行代码是互斥的。将磁带的渲染移动到查看器渲染中 @Bundles.RenderStylesheets("global") @Bundles.RenderStylesheets("header") @Bundles.RenderS

在渲染标记的内部,我使用
Bundles.reference
添加了对一系列.less文件的引用。当我在此组件上启用缓存时,较少的文件将不会添加到


不能同时拥有缓存(输出缓存)和期望执行代码。所以要么缓存,然后需要将代码放在其他地方。或者您不(输出)缓存。但是(输出)缓存和执行代码是互斥的。

将磁带的
渲染移动到查看器渲染中

@Bundles.RenderStylesheets("global")
@Bundles.RenderStylesheets("header")
@Bundles.RenderScripts("global")
@Bundles.RenderScripts("header")
将此呈现添加到sitecore。如图所示

将渲染添加到布局中。这将根据页面点击率缓存它。

@Html.Sitecore().Rendering(“,new{Cacheable=true,CacheKey=“my\u Rendering”,Cache\u VaryByData=true})

如果启用缓存,代码将不再执行(在第一次之后),因此不再添加引用是正常的,不是吗?你是对的。我试图找出如何缓存结果并保持当前的实现。当然,您可以。我现在正在研究一个解决方案。您添加了另一个渲染,因此您实际上将代码移动到了“其他地方”,如我所说……)你最终是对的。我半路才意识到;-)。无论哪种方式,这都是有效的,我们不必改变整个站点的.less实现。
@Bundles.RenderStylesheets("global")
@Bundles.RenderStylesheets("header")
@Bundles.RenderScripts("global")
@Bundles.RenderScripts("header")
@Html.Sitecore().Rendering("<your rendering definition item id>", new { Cacheable = true, CacheKey = "my_rendering", Cache_VaryByData = true })