这令人尴尬。我13年来一直是ColdFusion开发人员,我从来没有理由使用客户端管理而不是会话管理。无论如何,我在CFAdmin中设置了一个数据库和数据源,然后选择该数据源作为客户端会话的默认存储机制。
然后我浏览了所有代码并使用客户端范围全局替换了所有会话范围。
我的application.cfm的顶部如下:
<CFAPPLICATION
NAME="blah"
SESSIONMANAGEMENT="No"
SESSIONTIMEOUT=#CreateTimeSpan(0,2,0,0)#
CLIENTMANAGEMENT="Yes"
CLIENTSTORAGE="sys_blah"
>
在我的application.cfm中,我之前设置了一些与会话认证全局相关的变量,即
<cfparam name="session.user.authenticated" default="0">
<cfparam name="session.user.id" default="">
但是,现在这些都写成
<cfparam name="client.user.authenticated" default="0">
<cfparam name="client.user.id" default="">
我收到错误:
客户端中未定义元素USER。
我可能做错了什么?
我可以看到客户端变量进入新创建的数据库。 我在CF12上
答案 0 :(得分:3)
客户端变量必须是简单数据类型:字符串,数字,列表, 布尔值,或日期和时间值。他们不能数组,记录集, XML对象,查询对象或其他对象。如果你必须存储一个 复杂数据类型作为客户端变量,可以使用cfwddx标记 将数据转换为WDDX格式(表示为字符串), 存储WDDX数据,并使用cfwddx标记将数据转换回来 当你读它。有关使用WDDX的更多信息,请参阅使用WDDX。
所以...... WDDX或JSON会起作用。