Flex: неожиданная утечка с RemoteObject + IExternalizable? - PullRequest
0 голосов
/ 06 апреля 2010

Я возился с 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), Чарльз показывает мне, что запрос выглядит так: неожиданный результат http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png

Но, похоже, неправильно, что мой сериализованный объект просачивается в остальную часть запроса.

Итак, что я делаю не так? Есть ли какая-то часть документации, которую я пропустил?

1 Ответ

1 голос
/ 06 апреля 2010

Ваш код выглядит нормально, однако вы должны сериализовать, используя подходящие методы (writeUTF для строк, writeInt для int и т. Д.).В любом случае Чарльз, кажется, не работает должным образом с объектами, реализующими IExternalizable (я использую версию 3.4.1), поэтому вам не следует полагаться на то, что он показывает.

Не имеет прямого отношения к вашему вопросу - вам действительно нужноиспользовать IExternalizable?Вы потеряете некоторые преимущества, связанные с алгоритмом сжатия AMF (если только вы не собираетесь реализовывать все это в своем методе writeExternal).

...