J'ai bricolé avec IExternalizable
, mais j'ai remarqué un comportement inattendu. J'ai cette classe:Flex: Fuite inattendue avec RemoteObject + 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");
}
Mais lorsque je tente de sérialiser cette classe à l'aide de l'AMF et l'envoyer à un serveur distant (via RemoteObject
), Charles me montre que la demande ressemble à ceci:
unexpected result http://img.skitch.com/20100406-cjawastycagp1x2chbe76k2suu.png
Mais il semble incorrect que mon objet sérialisé fuit dans le reste de la demande.
Alors, qu'est-ce que je fais de mal? Y a-t-il une partie de la documentation que j'ai manquée?
Quel est l'avantage d'utiliser les méthodes de sérialisation «correctes»? Et si vous présentez des affirmations comme «c'est plus efficace», pouvez-vous fournir des preuves à l'appui de la réclamation? –
En outre, quels avantages de compression je perds avec IExternalizable? –
Merci pour le conseil sur Charles, cependant. Il semble que, en raison de la façon dont 'IExternalizable' est implémenté, Charles n'a aucun moyen de savoir où l'objet s'arrête et le reste de la requête continue. –