Coldfusion 10 ColdFusion 10客户端变量在将this.clientStorage声明为DSN时不持久

Coldfusion 10 ColdFusion 10客户端变量在将this.clientStorage声明为DSN时不持久,coldfusion-10,Coldfusion 10,正在将CF 5.x站点升级到ColdFusion 10 u13 这些是代码片段,不是完整的文件 Application.cfc: <cfset this.clientManagement = true> <cfset this.clientStorage = "myCSDSN"> <cfset this.clientStorage = "cookie"> main.cfm <cfset client.test = "testing 1 2 3"&

正在将CF 5.x站点升级到ColdFusion 10 u13

这些是代码片段,不是完整的文件

Application.cfc:

<cfset this.clientManagement = true>
<cfset this.clientStorage = "myCSDSN">
<cfset this.clientStorage = "cookie">

main.cfm

<cfset client.test = "testing 1 2 3">
<cfdump var="#client#" label="client">

clienttest.cfm

<cfdump var="#client#" label="client">

从加载main.cfm开始。您将看到:

现在在同一浏览器的新选项卡中加载clienttest.cfm。您将看到:

请注意,clienttest.cfm中缺少client.test。然而,会话管理cookie在两个转储中是相同的

现在更改Application.cfc中的此行:

<cfset this.clientManagement = true>
<cfset this.clientStorage = "myCSDSN">
<cfset this.clientStorage = "cookie">

重新运行main.cfm,然后运行clienttest.cfm。现在,client.test将出现在两个转储中。每次重新加载的命中率也将开始增加

数据源myCSDSN存在,其中包含CDATA和CGLOBAL表。myCSDSN数据源已在CF Administrator中设置为客户机变量存储机制(但不是默认设置)。没有新记录添加到这些表中

你知道为什么这不能与数据源一起工作吗


使用“cookie”存储选项有什么缺点吗?

我删除了CDATA和CGLOBAL表,并通过ColdFusion管理员重新创建了它们

从那以后,它开始使用DSN

从ColdFusion 5到ColdFusion 10,数据库结构存在差异

[cfid]char(20)在两个表中都变为[cfid]char(64)