2

例如,我们的应用程序使用客户端变量管理来唯一标识网站访问者,并最终将其存储为电子商务订单的 ID。

我们的客户订单表将“10000032:98517605:77134665”(cfid+cftoken) 等字符串保存为其唯一 ID。

现在我们需要摆脱客户端变量,因此我们的代码中不再有“CLIENT.cfid”。

我想到的第一件事就是简单地将其替换为“SESSION.cfid”和“SESSION.cftoken”。但最大的疑问是:

生成的 id 和 token 对现有的仍然是唯一的吗?进行这样的更改是否有可能导致重新生成“10000032:98517605:77134665”?

考虑到现有的,我如何制作唯一的访客 ID?

4

1 回答 1

4

我会设置一个新的会话值onSessionStart,你可以保证它是唯一的。所以在onSessionStartApplication.cfc的方法中,可以设置如下:

<cfset Session.CustomerID = CreateUUID() />

这样,当会话开始时,一个 UUID(保证是唯一的)将被放入会话范围内。然后,您可以根据需要使用它。如果这需要持久化,您也可以将其写入 cookie(因为会话不会像客户端变量那样长期持久化)。

于 2012-04-26T12:43:57.657 回答