1

使用 Sitecore DMS,您可以创建配置文件并根据用户的访问习惯显示特定页面。此信息使用 cookie 存储,因此无论何时用户回来,他们都有相同的访问者资料。但如果他们删除 cookie 或切换浏览器,这些信息就会消失。现在我要做的是将此访问者信息保存给 sitecore 用户,因为他们可以登录并且他们的访问者资料将与他们离开时相同,无论他们身在何处或使用什么浏览器。我一直试图弄清楚这一点,但没有成功。每当我使用用户登录并创建特定配置文件时,该配置文件都会在我注销后立即删除。这对 Sitecore 来说是否可行,因为在不断删除 cookie 时仅拥有基于 cookie 的配置文件似乎很愚蠢。

4

2 回答 2

2

使用 Sitecore Analytics,您有两个跟踪 cookie,一个用于 Session,另一个用于 GlobalSession(在正常的 asp.net 会话中不会过期)。不幸的是,Sitecore 不跟踪基于 GlobalSession 的配置文件关键分数,而是通过单个 asp.net 会话。整个系统都以此为基础,非常令人失望。'

为了解决这个问题,我使用 OMS 并使用 Reflector 来分解和重​​写一些分析代码以通过全局会话记录。它还需要一些架构更改以及新规则……相当广泛的工作。归根结底,由于数据库的大小和我们对功能数量非常有限的需求,我最终创建了一个表并通过 globalsession 在其中记录了配置文件键值。

据我了解,架构已从 OMS 更改为 DMS,但最重要的一个因素,即数据由会话记录,并没有改变。

关于存储用户的 id,您可以将其与存储的“标签”相关联,我相信,至少在 OMS 中,该标签与 globalsessionid 一起存储。但是,Sitecore 不会更新标签记录,因此您最终会在每个全局会话中获得多条记录。如果您在每个请求中都存储此值,则该表将迅速膨胀。

于 2012-10-18T17:40:14.603 回答
0

这有几个原因……其中最重要的是,在许多情况下,您没有登录用户来关联此信息。配置文件数据不存储在 cookie 中......它存储在 Analytics 表中。但它与具有唯一 ID 的 cookie 相关联,一旦删除,该 ID(希望如此!)将不会再次使用。

在此 StackOverflow 答案中提供了有关如何解决此问题的建议

于 2012-10-18T17:14:31.657 回答