caching - Umbraco 不会从缓存中清除损坏的代码

标签 caching umbraco umbraco7

我正在为 Umbraco 7 创建一个自定义属性编辑器。controller.js 中有一个拼写错误,尽管我做了一些清除缓存的工作,但 croken 代码仍然出现在缓存的依赖项处理程序中,到目前为止我已经尝试过:

  • 在 IIS 中重新启动应用程序
  • 重新发布 Umbraco 站点更改
  • 清除浏览器缓存
  • 在 web.config 中将 Debug="false"更改为 Debug="true"- 这在调试时有效但去了 当我将其恢复为 false 时恢复为损坏的缓存版本。
  • 修改 ClientDependancy.config 以从 fileDependencyExtensions 中排除 .js - 这在 .js 被排除时同样有效,但当我再次添加它时又回到损坏的代码。
  • 从属性编辑器 list 中删除对 Controller 的引用。 - 这允许页面再次加载,但显然属性编辑器没有 Controller 。
  • 已删除数据类型和所有引用,重新启动应用程序并重新创建它。

必须有一个简单的方法来做到这一点。有什么建议吗?

最佳答案

Umbraco 使用 ClientDependency framework缓存后台 Assets 。 CDF 的工作原理是根据 ~/Config/ClientDependency.config 文件中的版本号进行缓存。一旦您更改版本号(只需将其提高或降低 1),就会重新生成缓存,并且自动添加到所有后台 Assets 的查询字符串也会发生变化。

这也应该清除浏览器缓存,但某些浏览器(尤其是 Chrome)在缓存 Assets 方面非常积极,因此在极少数情况下,也有必要清除浏览器缓存。

关于caching - Umbraco 不会从缓存中清除损坏的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169548/

相关文章:

javascript - 使用生成器函数的输入和输出

multithreading - 操作系统尽量减少 TLB 刷新的难度有多大?

ASP.NET查看成员(member)是否在线

umbraco - ApplicationEventHandler 中的依赖注入(inject)。漏洞?

c# - 从用户控件内部在 Umbraco 中进行 Ajax 调用

java - 使用 Hibernate 作为 ORM 机制的 Web 应用程序中的 L1 和 L2 缓存有什么区别?

java - 无缓存控制 header 的 Varnish 行为

c# - Umbraco - 如何在代码中访问内容蓝图(模板)

c# - Umbraco 如何使用图像属性 id 获取 URL

umbraco - 在 Umbraco 7 中显示媒体库中的图像