Данные трекера Sitecore Analytics

Я просто запутался, где сохраняются данные, когда мы меняем фасеты в Sitecore. это мой код

if (Tracker.Current != null && Tracker.Current.IsActive){
   Tracker.Current.Session.Identify(Sitecore.Context.User.Name);
   var contact = Tracker.Current.Session.Contact;
   var contactPersonalInfo = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactPersonalInfo>("Personal");
   contactPersonalInfo.JobTitle = foo.Content;
}

Когда я меняю название должности контактных фасетов на «Помощник повара», для обновления MongoDB потребовалось довольно много времени. Но при отладке контактные фасеты уже устанавливаются в Cook Helper. Где же данные перед сохранением в MongoDB? Какое-то временное хранилище?


person gill23    schedule 27.10.2016    source источник


Ответы (1)


Все данные, которые вы храните в Tracker, включая фасеты, хранятся в сеансе посетителя.

Когда сеанс заканчивается, данные сбрасываются в MongoDB.

Это уменьшает количество обращений к базе данных коллекции, но означает, что управление сеансом должно быть максимально надежным.

Дополнительную информацию можно найти в этой статье: состояние сеанса Sitecore. и xDB

person Marek Musielak    schedule 27.10.2016