Я надеюсь, что здесь я не получил неправильный конец палочки (как всегда, документация на сидячие места горькая!)Могу ли я получить доступ к граничной стороне ситцера после разрыва сеанса?
Мне нужен способ хранения информации против посетителя, я достаточно новичок в сиквете , но решение contact facets seemed the ideal, в значительной степени реализовано слово в слово по ссылке выше, пока оно не попало в производство, я был очень доволен им. Когда я сохранил информацию, она сохранилась, я мог бы ее прочитать:
public IMpmVisitorFacet GetMpmVisitorFacet()
{
return _contact.GetFacet<IMpmVisitorFacet>(_MPMVisitorConfigName);
}
и установить информацию, и все казалось отличным. Я также мог видеть, что установленный сиквел SC_ANALYTICS_GLOBAL_COOKIE
, все казалось замечательным. Затем я сделал несколько более тщательных тестов ...
Проблема заключается в том, что данные просто не сохраняются долго. Если я помещу некоторую информацию в фасет, она будет стоять около часа или около того (я могу закрыть браузер, посмотреть на другие сайты и т. Д. И т. Д.), И я смогу получить к нему доступ, но после «количества время "это просто все уходит.
После пересматривал документы (есть я уже говорил, что они не очень хорошо) я заметил нюанс в предложении, что я не видел раньше:
Ну, я могу создать еще одну форму страницы веб который только читает номер сотрудника . Это покажет мне, что данные контактных фасет сохраняются как минимум в . Но как насчет постоянного хранения?
Держись, я думал, что это постоянное хранилище ?! Таким образом, в примере показан некоторый код для чтения «facet».
var contact = Tracker.Current.Contact;
var data = contact.GetFacet<IEmployeeData>("Employee Data");
data.EmployeeId = "ABC123";
.....
<p>Employee data contact facet updated.</p>
<p>Contact ID: <b><%=contact.ContactId.ToString()%></b></p>
<p>Employee #: <b><%=data.EmployeeId%></b></p>
Но этот грань, кажется, существует только на короткий период времени. Затем он продолжает:
Из соображений производительности Sitecore только записывает контактные данные в XDB, когда сеанс ends.This означает, что, если я смотрю в MongoDB ...
тогда продолжает показывать данные в новой блестящей модной реализации mongoDb. Но что использовать в монго, если я не могу на самом деле получить доступ к этой информации и использовать ее!
Таким образом возникает вопрос, как мне получить доступ к этой контактной информации после прекращения сеанса?
т.е. пользователь входит в моем сайт -> добавить некоторую информацию в их контактной фаску -> они возвращаются на следующий день -> Я хочу, чтобы прочитать информацию, я добавил ранее
Есть несколько других документов, которые поговорите о доступе к этим данным в experience profile, до index into Lucene и in the Experience platform (почему есть два продукта с почти одинаковым именем ?!), но нечего сказать, как получить доступ к этой информации на самом веб-сайте в коде.
Чтобы добавить к комментариям по Dmytro Shevchenko:
- Я могу видеть мой пользователь в «профиле опыта» и я могу видеть мои посещения на сайт.
- Я знаю, что у этого пользователя была моя дополнительная информация о фасете, потому что он вызвал некоторый код.
- я могу найти пользователь (от идентификаторов вынимают из строки запроса в странице профиля опыта) в Монго Db
- Но когда я смотрю на пользователе в MongoDB дополнительной информация не существует.
- некоторые из контактных записей имеют эти данные, но другие не
Так что, как представляется, проблема с написанием новой информации в Монго ... Кто-нибудь есть какая-либо помощь или подобный опыт это?
* «Как получить доступ к этой контактной информации после завершения сеанса?» * - вам нужно получить доступ к контакту со своими гранями * вне * веб-сессии (например, из фоновой службы)? Или вам нужно получить доступ к грани контакта в новом веб-сеансе одного и того же контакта? –
Новая веб-сессия того же контакта – Liam
В этом случае данные должны быть там. Вы уверены, что это тот же самый точный контакт, с которым вы работаете в другой веб-сессии? Проверьте «ContactID». –