前面我们提到过Flex 2.01 Hotfix 2的发布,我第第一时间用将Flex开放环境切换到了HF2,不幸的是,今天用RemoteObject调用Coldfusion CFC的时候确出现了一个奇怪的问题。

如果我们第一调用RemoteObject.remoteInvoke()时失败了,那么后续对RemoteObject.remoteInvoke()都将失效,大家可以用HTTP监控工具看下,这时候将不向后台发送任何的信息。

但是如果在第一次调用RemoteObject.remoteInvoke()成功的情况下,那么后续的任何调用都将正常发送到后台交互,不管第二次调用是成功还是失败,这时候RemoteObject工作的非常正常。

如果我们换到Flex 2.01或者Flex 2.01 HF1的SDK的话,却不会这样,一切都是工作正常的。

我想这是HF2中RemoteObject的一个BUG,可能是在第一次失败后,内部某个参数未重置吧,Adobe未开放Flex2 RPC相关的源码,RemoteObject对我们来说是个黑盒,没法进一步查看细节(或许可以在运行时Trace RemoteObject下)。

我的开发环境:

Ubuntu Gusty 7.10 | Firefox 2.04 | FlashPlayer 9.0.31.0

我已经向Adobe报告了这个BUG,不知道有没有其他朋友碰到和我一样的情况?