如何序列化cfc实例

时间:2015-11-16 19:52:36

标签: coldfusion cfml railo

<cfwddx>标记可以很容易地用于序列化和反序列化复杂数据类型,例如数组,结构和查询,但不能用于cfc实例。

序列化和后来反序列化cfc的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

由于CFC实例的性质(数据隐藏),wddx进程无法查看它的“内部”以便序列化它。

但是,您有两个CFC实例序列化选项,具体取决于您要完成的任务。

  1. 如果要序列化CFC实例的内部状态,只需在CFC中添加一个方法,该方法返回CFC实例的变量范围。然后,您可以通过调用该方法简单地序列化响应。 getMemento()getInstanceData()应该有效。 - 谢谢Scott Stroz!

  2. 如果要序列化CFC实例的元数据(属性和方法),可以在函数getComponentMetadata()中使用ColdFusion的构建,并序列化该调用的结果。 - 谢谢Dan Bracuk!

答案 1 :(得分:1)

查看ObjectSave()ObjectLoad(),但如果要将序列化数据加载到不同版本的CF中,IMO可能存在风险。