Как использовать строго типизированные объекты удаленных служб в Flex с Mate Framework? - PullRequest
2 голосов
/ 22 октября 2010

Я относительно новичок в Mate Framework, но пока что мне действительно нравится то, что я вижу.Мое приложение часто использует тег <RemoteObjectInvoker> для вызова моих сервисных методов BlazeDS / Java на серверной части.

Однако меня беспокоит необходимость ввода строкового имени сотен удаленных методов в мою EventMap, поскольку ошибки не обнаруживаются до времени выполнения.Меня также беспокоит, что проблемы со структурой аргументов не обнаруживаются до тех пор, пока запрос не попадет на сервер.Кроме того, все это усложняет (не делает невозможным) предоставление ложного уровня служб данных.

Для решения этих проблем я создал интерфейс ActionScript3 для каждого пункта назначения удаленной службы, в котором есть методы.Эти методы заключают в себе вызовы «getOperation» и «send».Каждый метод возвращает асинхронный токен, как это делает вызов send.

Однако я изо всех сил пытаюсь вызвать эти строго типизированные методы обслуживания из моей карты событий.Я ищу:

1) RemoteObjectInvoker, чтобы атрибут метода принимал функцию / метод ActionScript вместо строкового имени удаленного метода.А затем вызвать этот метод, чтобы получить асинхронный токен, а не использовать имя String в getOperation.

2) Запрет # 1 - есть какой-то тег, такой как MethodInvoker, но который может обрабатывать токены Async и результат/ сбой обработчики?

3) Запрет # 2 - я думаю, мне нужно создать расширение Mate.Возможно, новый тег называется «AsyncMethodInvoker».

Есть идеи относительно лучшего курса действий?Я брошу Мате, если придется, но я действительно хочу оставить это!

1 Ответ

0 голосов
/ 23 октября 2010

Найден в доступном, но недокументированном классе в API. Он называется вызывающим делегатом и может быть найден здесь:

http://mate.asfusion.com/api_docs/com/asfusion/mate/actions/builders/DelegateInvoker.html

Также уже есть тег AyncMethodInvoker, но DelegateInvoker более подходит для вызовов удаленных служб.

...