Flex: настроить предупреждения сериализации AMF? - PullRequest
0 голосов
/ 09 апреля 2010

Я пытался протестировать свое приложение, чтобы убедиться, что все важные классы могут сериализоваться / перезагружаться должным образом (особенно те, которые реализуют IExternalizable):

[Test]
public function testMyObjectSerialization():void {
    var myobj:MyObject = new MyObject();
    var ba:ByteArray = new ByteArray();
    ba.writeObject(myobj);
    ba.position = 0;
    var loadedObj:MyObject = ba.readObject();
    assertMyObjectEqual(myobj, loadedObj);
}

И я хотел бы быть предупрежденным, когда я пытаюсь сериализовать строго типизированный объект, у которого нет набора [RemoteClass] (потому что это почти наверняка представляет ошибку в моем коде).

Итак, есть ли способ настроить сериализатор AMF для выдачи предупреждений?

Кроме того, похоже, что возможно возможно при использовании services-config.xml ... Но документация подразумевает, что services-config на уровне канала, и мне бы очень хотелось, чтобы мои модульные тесты могли работать без обращения к серверу (и я не использую LCDS, так что куча services-config в любом случае не будет применяться ко мне).

1 Ответ

2 голосов
/ 13 апреля 2010

Невозможно настроить собственную сериализацию / десериализацию AMF из проигрывателя Flash Player, чтобы получать предупреждения, если [RemoteClass] или любые другие метаданные установлены или нет.

Однако вы можете написать свой собственный класс для этого - вы можете зарегистрировать все объекты в списке и проверить наличие [Remote] с помощью flash.utils.describeType. Или используйте обертку над writeObject, которая проверяет метаданные [Remote].

...