切换到客户端管理时出错

时间:2016-05-05 20:16:57

标签: coldfusion coldfusion-2016

这令人尴尬。我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上

1 个答案:

答案 0 :(得分:3)

  

客户端变量必须是简单数据类型:字符串,数字,列表,   布尔值,或日期和时间值。他们不能数组,记录集,   XML对象,查询对象或其他对象。如果你必须存储一个   复杂数据类型作为客户端变量,可以使用cfwddx标记   将数据转换为WDDX格式(表示为字符串),   存储WDDX数据,并使用cfwddx标记将数据转换回来   当你读它。有关使用WDDX的更多信息,请参阅使用WDDX。

http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec0c35c-7fd5.html

所以...... WDDX或JSON会起作用。