我在使用 FluorineFx 映射到同名的 AS3 类(Flex)时遇到了一个非常奇怪的行为。
此类(C#)有一个 FluorineFx.AMF3.ByteArray 字段,映射到 AS3 中的 ByteArray 属性,其目的是传输存储在数据库中的二进制文件。
有时(并非总是)我收到此错误:“Server.Acknowledge.Failed - 未收到确认消息 - 期待 mx.messaging.messages.AcknowledgeMessage,但收到 null。” 这个错误永远不会发生在开发机器中,只会发生在网络上的客户端中。
用 Firebug/FlashFirebug 调试,这个异常是随机抛出的:
RangeError:错误 #2006:提供的索引超出范围。在 ObjectInput/readObject() 在 mx.collections::ArrayList/readExternal()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\ArrayList.as:593] 在 mx.collections::ArrayCollection /readExternal()[E:\dev\hero_private\frameworks\projects\framework\src\mx\collections\ArrayCollection.as:149]
这让我发疯,我通常知道这是由映射错误引起的,但如果是这种情况,它应该总是无处不在。
任何帮助我都会感激。