2017-11-16 7 views
1

Ich habe einen CM und einen CD-Server. Sie teilen sich die Analytics-Datenbank. Ich habe ein Szenario, in dem ich ein Element über den REST-API-Dienst direkt in die master-Datenbank aktualisiere und ein gespeichertes Elementereignis auslöst. In diesem Ereignis füge ich den Kontakt zu einer Kontaktliste hinzu. Dazu versuche ich den Kontakt zu speichern (ansonsten wird die Änderung nicht berücksichtigt). Aber jedes Mal, wenn ich versuche, TryGetContactForUpdate zu verwenden, erhalte ich einen Null-Kontakt und der Status ist LockedByWebCluster.Wie entsperre ich einen Sitecore-Kontakt?

Ich habe versucht, den Kontakt zu XDB freizugeben, bevor Sie den Artikel aktualisieren (auf der CD), aber der Kontakt ist immer noch gesperrt. Wenn ich nur den Kontakt bekomme und ihn freigebe, sehe ich den aktualisierten Tag mit der Kontaktliste in Mongo (ohne einen Mietvertrag), aber sobald ich mich aus dem Kundenbereich abmelde, wird der Kontakt durch die letzte bekannte Version ersetzt die CD (mit einem Mietvertrag).

Ich bin mir nicht ganz sicher, warum all das passiert oder wie es sein soll, aber ich nahm an, dass wenn ich den Kontakt vor der Aktualisierung im CM freigeschaltet habe, würde ich kein Problem bekommen.

Um die Dinge noch komplizierter zu machen, muss mein ClusterName im CM und auf der CD identisch sein, ansonsten funktioniert die REST-API nicht ordnungsgemäß. Nicht sicher warum.

Irgendwelche Ratschläge?

PS: Verwenden von Sitecore 8.1

Antwort

0

Sie können den Kontakt nicht entsperren. Sie können nur versuchen, auf einen Zeitgeberauftrag zuzugreifen. Dies war ein großes Problem mit 8.x das Modell und auch warum in Sitecore 9 xConnect den Kontakt von der Website trennt. Es gibt also keine Verriegelung in xConnect wie 9.