2016-01-16 13 views
6

Es war plötzlich und es hörte einfach auf zu arbeiten. Ich habe keine Ahnung, was schief gelaufen ist, was das verursacht hat:Event-Handler konnte nicht instanziiert werden. Typ: Sitecore.Publishing.HtmlCacheClearer

Event-Handler konnte nicht instanziiert werden. Typ: Sitecore.Publishing.HtmlCacheClearer. Methode: ClearCaches (Methode: Sitecore.Events.Event + EventSubscribers.Add (Zeichenfolge eventName, XmlNode configNode)).

Ich habe alles versucht, dass es funktionieren würde, aber es hat nicht

  1. Re-kopiert meine Sitecore-Dateien von Sitecore 7.2
  2. neu indexiert mein Solr
  3. Erstellt eine völlig neue Sitecores
  4. Projekt
  5. Neuveröffentlicht die komplette Website
  6. knallte meinen Kopf auf dem Schreibtisch

Kann mir jemand den Grund dafür sagen und was könnte die Lösung sein. Ich bin ziemlich neu bei Sitecore.

Aktualisierung der publish:end und publish: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> 
+0

Sind Sie sicher, dass Sie die Dateien über von der korrekten Version von Sitecores kopiert? Überprüfen Sie die Version der Sitecore.Kernel.dll, die Sie bereitgestellt haben, und die Version, auf die Sie in Ihrem VS-Projekt verwiesen haben. – jammykam

+0

Hallo Jammy. Ich verweise auf die korrekte Version. –

+1

Können Sie die Frage mit dem XML für die Ereignisse "publish: end" und "publish: end: remote" aktualisieren? –

Antwort

5

Ich könnte falsch liegen, aber könnte es ein einfacher Schreibfehler in der Handler-Registrierung in der Ereignispipeline sein? Ich schaute auf den Quellcode für SC 7.2 Update 4 und es gibt keine Methode namens Sitecore.Publishing.HtmlCacheClearer.ClearCaches, wie auch immer es eine Methode namens ClearCache gibt.

Versuchen Sie, den Methodennamen in ClearCache zu ändern.

Cheers, Bo

+0

Und 'ClearCache' ist auch der Standard in der Sitecore-Konfiguration. Schöner Ort. – jammykam

+0

Ich habe versucht, Refactor alle Vorkommen umzubenennen. Aber es hat nicht funktioniert. Momentan habe ich nur die 'publish: end' und' publish: end: remote' auskommentiert, um mich selbst zu blockieren. –

+0

Noch ein Hinweis: Wir haben das gleiche Sitecore-Projekt für zwei verschiedene Regionen erstellt und haben unterschiedliche Bereitstellungsorte. Was mich überrascht ist, dass die andere eingesetzte Lösung gut funktioniert. –

1

Dies ist eine lange gedreht, aber ich stieß auf ein Problem mit dem HtmlCacheClearer ein paar Monate zurück. Stellt sich heraus, es hat eine Abhängigkeit von einem alten Lucene-Index namens __System.

Wenn dieser Index beschädigt wird, kann dies zu unerwarteten Ergebnissen führen. Meine Situation war nicht genau dieselbe wie deine, aber die Lösung war einfach und nicht-invasiv. Es könnte also einen Versuch wert sein.

Löschen Sie einfach den __System Index von Ihrem Datafolder (es enthält nichts, was aufbewahrt werden muss).

Ich schrieb eine blog post about this issue.

+0

Hallo Martin. Ich habe die __System-Datei aus meinem Datenordner gelöscht, funktioniert aber immer noch nicht. –