0

我正在使用 Sitecore 8.0 update 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)
4

2 回答 2

2

这是来自 Brain 的 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/

于 2016-06-29T00:09:10.570 回答
0

这似乎是您的 MongoDB 的问题。检查它是否正在运行以及它是否可以访问您的 IIS 计算机。还要检查您的日志是否有 Mongo 错误。

这是一个类似的问题:https ://community.sitecore.net/developers/f/8/t/1771

于 2016-06-21T18:03:27.157 回答