Flex 错误 服务器。确认。失败:未收到确认消息



我有一个非常奇怪的行为,使用FluorineFx将C#类"Digital"映射到同名的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]

这让我疯了,我知道这通常是由映射错误引起的,但如果是这样的话,它应该总是无处不在。

任何帮助我都将不胜感激。

好吧,我很尴尬,但也许这可以帮助其他人:真正的问题a是那些机器中的防火墙。在某些情况下,为Personal ZoneAlarm,而在其他情况下,则为Windows防火墙。这真的很有意义,因为应该中断带有embebed二进制文件的响应以保护客户端。

最新更新