无法实例化事件处理程序。类型:Sitecore.Publishing.HtmlCacheClearer

Could not instantiate event handler. Type: Sitecore.Publishing.HtmlCacheClearer

突然间,它就停止工作了。我不知道出了什么问题,是什么原因导致的:

Could not instantiate event handler. Type: Sitecore.Publishing.HtmlCacheClearer. Method: ClearCaches (method: Sitecore.Events.Event+EventSubscribers.Add(String eventName, XmlNode configNode)).

我尝试了一切可以让它工作的方法,但没有成功

  1. 从 Sitecore 7.2 重新复制了我的 Sitecore 文件
  2. 重新索引我的 Solr
  3. 创建了一个全新的 Sitecore 项目
  4. 重新发布了完整的站点
  5. 用头撞桌子

谁能告诉我这是什么原因以及解决办法。我是 Sitecore 的新手。

正在更新 publish:endpublish:end:remote

 <event name="publish:end">
    <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCaches">
      <sites hint="list">
        <site>website</site>
      </sites>
    </handler>
  </event>
  <event name="publish:end:remote">
    <handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCaches">
      <sites hint="list">
        <site>website</site>
      </sites>
    </handler>
  </event>

这是一个远景,但我在几个月前遇到了 HtmlCacheClearer 的问题。事实证明它依赖于名为 __System.

的遗留 Lucene 索引

如果该索引损坏,可能会导致一些意外结果。我的情况与您的情况不完全相同,但修复简单 non-invasive。所以可能值得一试。

只需从您的数据文件夹中删除 __System 索引(它不包含任何需要保留的内容)。

我写了一个blog post about this issue.

我可能错了,但这可能是事件管道中处理程序注册中的简单拼写错误吗?我查看了 SC 7.2 更新 4 的源代码,没有名为 Sitecore.Publishing.HtmlCacheClearer.ClearCaches 的方法,但是有一个名为 ClearCache 的方法。

尝试将方法名称更改为 ClearCache。

干杯, 博