Apache flex Flex:配置AMF序列化警告?

Apache flex Flex:配置AMF序列化警告?,apache-flex,serialization,amf,Apache Flex,Serialization,Amf,我一直在尝试测试我的应用程序,以确保所有重要的类都能正确地序列化/重新加载它们自己(特别是那些实现了IExternalizable)的类: 当我试图序列化一个没有[RemoteClass]集的强类型对象时,我希望得到警告(因为这几乎肯定表示我的代码中有一个bug) 那么,有没有办法将AMF序列化程序配置为发出警告 另外,使用services config.xml,这似乎是可能的,但是文档似乎暗示services config是通道级别的,如果我的单元测试可以在不与服务器对话的情况下运行,我真的很

我一直在尝试测试我的应用程序,以确保所有重要的类都能正确地序列化/重新加载它们自己(特别是那些实现了
IExternalizable
)的类:

当我试图序列化一个没有
[RemoteClass]
集的强类型对象时,我希望得到警告(因为这几乎肯定表示我的代码中有一个bug)

那么,有没有办法将AMF序列化程序配置为发出警告


另外,使用
services config.xml
,这似乎是可能的,但是文档似乎暗示
services config
是通道级别的,如果我的单元测试可以在不与服务器对话的情况下运行,我真的很喜欢(而且我不使用LCD,所以一堆
服务配置
无论如何都不适用于我)。

无法从Flash Player配置本机AMF序列化/反序列化,以在是否设置了[RemoteClass]或任何其他元数据时向您发出警告


但是,您可以编写自己的类来完成此操作-您可以注册列表中的所有对象,并使用flash.utils.describeType检查[Remote],或者使用writeObject上的包装器检查[Remote]元数据。

您希望警告在编译时或运行时出现吗?我不知道它们怎么可能在编译时出现……例如,如果我有
类Foo{var Bar:Array=[new Bar(),new Baz()]}
,编译器就不可能知道A)我想序列化
和B)条
包含
Baz
。因此,是的-我希望它们在运行时出现。但不幸的是,这对实现
IExternalizable
的类不起作用,因为无法知道它们将向输出流写入什么。当然,我可以创建
ByteArray
的子类,它监视写入它的所有内容……但这似乎是相当痛苦的:(另外,您是否有“无法配置本机AMF序列化/反序列化”的参考?因为看起来,如果我使用的是
services config.xml
和一台LCD服务器,那么这将是可能的……我没有公开的参考资料,我只是问了我办公桌附近的一位FP工程师。在服务器端,情况就不同了……你可以自定义很多东西,代码是开源的。啊,好吧:)这比我得到的要好得多。谢谢
[Test]
public function testMyObjectSerialization():void {
    var myobj:MyObject = new MyObject();
    var ba:ByteArray = new ByteArray();
    ba.writeObject(myobj);
    ba.position = 0;
    var loadedObj:MyObject = ba.readObject();
    assertMyObjectEqual(myobj, loadedObj);
}