<cfwddx>
标记可以很容易地用于序列化和反序列化复杂数据类型,例如数组,结构和查询,但不能用于cfc实例。
序列化和后来反序列化cfc的最佳方法是什么?
答案 0 :(得分:3)
由于CFC实例的性质(数据隐藏),wddx进程无法查看它的“内部”以便序列化它。
但是,您有两个CFC实例序列化选项,具体取决于您要完成的任务。
如果要序列化CFC实例的内部状态,只需在CFC中添加一个方法,该方法返回CFC实例的变量范围。然后,您可以通过调用该方法简单地序列化响应。 getMemento()
或getInstanceData()
应该有效。 - 谢谢Scott Stroz!
如果要序列化CFC实例的元数据(属性和方法),可以在函数getComponentMetadata()
中使用ColdFusion的构建,并序列化该调用的结果。 - 谢谢Dan Bracuk!
答案 1 :(得分:1)
查看ObjectSave()
和ObjectLoad()
,但如果要将序列化数据加载到不同版本的CF中,IMO可能存在风险。