1

这很尴尬。我作为 ColdFusion 开发人员已经 13 年了,我从来没有理由使用客户端管理而不是会话管理。无论如何,我已经在 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 在 CLIENT 中未定义。

我可能做错了什么?

我可以看到客户端变量进入新创建的数据库。我在CF12

4

1 回答 1

3

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

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

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

于 2016-05-05T21:45:15.350 回答