Flex:RemoteObject 意外泄漏 +我可以外部化吗?

发布于 2024-08-27 16:37:11 字数 724 浏览 7 评论 0原文

我一直在修改 IExternalizable,但我注意到一些意外的行为。我已经有了这个类:

public function readExternal(input:IDataInput):void {
    input.readObject();
    input.readObject();
    input.readObject();
}

public function writeExternal(output:IDataOutput):void {
    output.writeObject("first string");
    output.writeObject(424242);
    output.writeObject("second string");
}

但是当我尝试使用 AMF 序列化这个类并将其发送到远程服务器(通过 RemoteObject)时,Charles 向我显示该请求如下所示:
意外结果 http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png

但是我的序列化对象泄漏到请求的其余部分似乎是错误的。

那么,我做错了什么?我是否遗漏了文档的某些部分?

I've been tinkering with IExternalizable, but I've noticed some unexpected behavior. I've got this class:

public function readExternal(input:IDataInput):void {
    input.readObject();
    input.readObject();
    input.readObject();
}

public function writeExternal(output:IDataOutput):void {
    output.writeObject("first string");
    output.writeObject(424242);
    output.writeObject("second string");
}

But when I try to serialize this class using AMF and send it to a remote server (via RemoteObject), Charles shows me that the request looks like this:
unexpected result http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png

But it seems wrong that my serialized object is leaking out into the rest of the request.

So, what am I doing wrong? Is there some part of the documentation I've missed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南街九尾狐 2024-09-03 16:37:11

您的代码看起来不错,但是您应该使用正确的方法进行序列化(用于字符串的 writeUTF,用于 int 的 writeInt 等)。无论如何,Charles 似乎无法与实现 IExternalized 的对象正常工作(我使用的是 3.4.1 版本),因此您不应依赖它所显示的内容。

与您的问题没有直接关系 - 您真的需要使用 IExternalized 吗?您将失去与 AMF 压缩算法相关的一些好处(除非您不打算在 writeExternal 方法中实现所有这些内容)。

You code seems fine, however you should serialize using the proper methods (writeUTF for strings, writeInt for int etc). Anyway Charles seems to not work properly with objects implementing IExternalizable (I'm using version 3.4.1), so you should not rely on what it is showing.

Not directly related to your question - do you really need to use IExternalizable? You are going to lose some benefits related to AMF compression algorithm (unless you are not going to implement all this things in your writeExternal method).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文