【问题标题】:Correctly clearing cache in Umbraco 7在 Umbraco 7 中正确清除缓存
【发布时间】:2018-03-13 05:43:24
【问题描述】:

说实话,我不知道 Umbraco 是如何处理清除缓存的。我目前正在开发一个属性编辑器,我想在内容部分看到我的更改结果。但是,每当我保存更改、构建项目并刷新页面时,什么都没有改变。

我尝试过删除缓存文件夹、更改 web.config 文件、安装特殊的 chrome 扩展以进行硬重置、清除整个缓存、关闭和打开 Visual Studio,但似乎没有任何区别。

如何让 Umbraco 更新其缓存以反映我在内容部分对属性编辑器所做的更改?

【问题讨论】:

  • 您确定这是缓存问题吗?听起来更改的内容没有被保存。通常在创建属性编辑器时,您不必担心 Umbraco 如何缓存数据。

标签: caching refresh umbraco


【解决方案1】:

Umbraco 使用Client Dependency Framework 将所有必需的资产连接在一起。然后将它们缓存并存储在\App_Data\TEMP\ClientDependency\

你可以删除这些来刷新缓存。

您可以通过将应用程序置于调试模式来阻止 Umbraco 使用 CDF。在您的Web.config 中,找到compilation 项并将debug 更改为等于true

<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.5">

当 Umbraco 设置为调试模式 false 时,将执行这样的调用,获取资产的缓存版本:/DependencyHandler.axd?s=

当 Umbraco 处于调试模式时,将直接调用您的自定义资产(以及所需的任何其他资产)。

您还需要像以前一样硬刷新浏览器,否则您的浏览器也可能在本地缓存文件。

【讨论】:

  • 为避免删除缓存,您只需编辑~/config/ClientDependency.config 文件并增加序列号即可。如果您正在开发中,请同时清除浏览器缓存。
【解决方案2】:

您是否尝试在 URL 末尾添加查询字符串?在插件 package.manifest 中,您可以在 url 末尾添加一个随机查询字符串,因此浏览器需要重新缓存该 url

例如。 "~/App_Plugins/Javascript 网址" + "?v=123432asdsa"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2020-03-02
    相关资源
    最近更新 更多