合并联系人时Sitecore.Analytics.Exceptions.ContactLockException

时间:2016-06-21 16:35:34

标签: sitecore sitecore8 sitecore-analytics sitecore-xdb sitecore-commerce-server

我正在使用Sitecore 8.0更新5,而我尝试使用

识别联系人
Tracker.Current.Session.Identify(userKey);

我收到错误

  

Sitecore.Analytics.Exceptions.ContactLockException

添加下面的整个堆栈跟踪

Exception: Sitecore.Analytics.Exceptions.ContactLockException
Message: Contact 1cd840a6-f367-4b5f-9df1-74240a03fd29 could not be locked in the XDB.
Source: Sitecore.Analytics
   at Sitecore.Analytics.Tracking.StandardSession.Identify(String userName)
   at Test.Client.Common.Utilities.AnalyticsHelper.MergeContacts(String userKey)

2 个答案:

答案 0 :(得分:2)

这是来自Brain's Pedersen的代码。

// THIS IS BAD!!!
// The user could be extranet\anonymous
if (!Tracker.IsActive)
  return;
Tracker.Current.Session.Identify(Sitecore.Context.User.Name);

// THIS COULD BE A SOLUTION:
if (!Tracker.IsActive)
  return;
if (Sitecore.Current.User.Name.ToLower() == "extranet\\anonymous")
  return;
Tracker.Current.Session.Identify(Sitecore.Context.User.Name);

// OR MAYBE THIS?
if (!Tracker.IsActive)
  return;
if (!Sitecore.Context.User.IsAuthenticated)
  return;
Tracker.Current.Session.Identify(Sitecore.Context.User.Name);

您可以浏览该链接了解更多详情。 https://briancaos.wordpress.com/2015/07/02/sitecore-8-and-tracker-current-session-identify-overriding-expired-contact-session-lock-for-contact-id/

答案 1 :(得分:0)

这似乎是您的MongoDB的一个问题。检查它是否正在运行以及是否可以访问IIS计算机。另请查看Mongo erros的日志。

以下是类似问题:https://community.sitecore.net/developers/f/8/t/1771