【问题标题】:Disabled Cache for Static Content禁用静态内容缓存
【发布时间】:2016-12-07 17:10:18
【问题描述】:

我正在本地 Windows 10 计算机上开发 Sitecore 站点。我尝试了几种方法来禁用缓存 CSS,但即使在隐身状态下,该网站也会显示缓存的样式。

方法一:Web.config

<httpProtocol>
    <customHeaders>
        <remove name="X-Powered-By" />
        <add name="X-ETF-Spoofed-IP" value="xx.xx.xxx.xxx" />
      <add name="Cache-Control" value="no-cache" />
    </customHeaders>
</httpProtocol>
<staticContent>
    <clientCache cacheControlMode="DisableCache" />
</staticContent>

方法 2:在 IIS 中: 将 Common Headers 设置为立即过期。

会不会少了点什么?样式表正在被捆绑。

Index.cshtml中有这段代码不是我写的:

if (pageItem.TemplateID == Templates.GenericPageTemplateId || pageItem.TemplateID == Templates.GenericMicrositeTemplateId)
{
    headerCss = "generic-header";
}

使用 Visual Studio。

【问题讨论】:

  • 请验证这段代码是否是“渲染”的一部分。也许这个渲染启用了一些缓存属性。在这种情况下,缓存由 sitecore 处理。

标签: asp.net visual-studio caching web-config sitecore


【解决方案1】:

除了 Gabriel 提到的内容之外,还有一些缓存设置取决于您如何渲染具有 CSS 内容的内容。正如您所说,您要禁用 CSS 缓存,这意味着您更新了链接到页面的 CSS 文件。我们还有很多 Sitecore 前端开发人员,他们也遇到了类似的问题。

您是否通过在开发者工具中选中“禁用缓存”(网络选项卡)刷新了页面?

如果您在打开开发者工具的情况下刷新页面,页面会在没有任何存储的缓存信息的情况下呈现。在其 web.config 文件中还有另一个禁用 HTML 缓存的设置,但我想问题不在于那里。

【讨论】: