Какова лучшая клиентская архитектура для Flash Remoting при взаимодействии с ASP.Net? - PullRequest
0 голосов
/ 17 марта 2009

Мы сочли сочетание ASP.Net в качестве серверного бэкэнда и Adobe Flash для пользовательского интерфейса отличным сочетанием.

До сих пор мы использовали Javascript в качестве канала связи между двумя технологиями. Это сработало хорошо, однако мы хотим иметь возможность передавать объекты вперед и назад, а не только строковые переменные, и мы также хотим повысить производительность.

Существует несколько способов общения:

  • Javascript
  • Веб-службы (должным образом поддерживаются в MX, а не в CS3, не уверены в CS4)
  • Flash Remoting
  • другие

Мое исследование показало, что Flash Remoting является лучшим исполнителем.

На сервере необходимо предоставить шлюз удаленного взаимодействия (Flash Remoting (999 долл. США), FluorineFx, WebORB, AMF.Net).

Как лучше всего использовать удаленное взаимодействие с клиента?

Проблема заключается в том, что библиотеки удаленного взаимодействия Flash кажутся не очень хорошими или хорошо поддерживаемыми. Они были в MX, а не в CS3, пока не уверены в CS4.

Flex, по-видимому, имеет отличную поддержку удаленного взаимодействия, однако нам нравится возможность создавать пользовательский интерфейс произвольной формы во флэш-памяти и не ограничиваться элементами управления Flex. Я видел предложения по встраиванию flash swf в flex - но неохотно представляю другой слой. Я не использовал Flex широко, поэтому я могу что-то упустить здесь.

Кто-нибудь имел опыт в этой области? Должен ли я попробовать и вставить мой SWF в Flex? Или CS4 обеспечивает достаточно хорошую поддержку удаленного взаимодействия?

Спасибо.

Бобби - Это хорошая идея. JSON может добиться цели.

cliff.meyers - Мы уже используем фтор на сервере. Проблема заключается в использовании Flash (НЕ Flex) на клиенте (см. Выше) и отсутствии у Flash хорошей поддержки удаленного взаимодействия.

Ответы [ 3 ]

1 голос
/ 18 марта 2009

Не уверен, что вы имеете в виду о хорошей поддержке. Мы также столкнулись с этой проблемой и используем фтор. Я построил набор классов, основанных на объекте NetConnection. Все работает хорошо, и у нас есть объекты VO / DTO, правильно переводящие и набираемые во Flash. Единственная проблема, с которой я столкнулся - это объект ошибки, который был напечатан как Object и, по-видимому, не имел полезной документации. Еще одна проблема, с которой мы столкнулись, это то, что сейчас нам нужно вручную перекодировать объекты VO / DTO, а не автоматически генерировать код C # и AS3 из одних и тех же файлов определения.

Мы уже использовали это в двух проектах, и это работало без сбоев.

1 голос
/ 23 апреля 2009

Мы выполнили несколько проектов во Flash с использованием удаленного шлюза Fluorine или WebORB. У нас были некоторые проблемы (я думаю, например, были проблемы с использованием ObjectEncoding.AMF3), но для меня это лучшее решение. Мы также использовали JSON, который также является хорошим выбором, но не настолько хорошим, как WebORB или FluorineFX (для меня).

Может быть, посмотрите на примеры WebORB. Я думаю, что есть некоторые примеры, написанные на Flash вместо Flex.

private var service:NetConnection;
service=new NetConnection();
service.objectEncoding=ObjectEncoding.AMF0;
service.connect("GatewayUrl");
responder=new Responder(callResult, callFault);
service.call("name_service", responder, parameters);

Это в основном все, что вам нужно сделать (помимо регистрации классов с помощью registerClassAlias).

Конечно, Flex лучше поддерживается для удаленного взаимодействия.

Проверьте эту ссылку в моем блоге для другого примера.

1 голос
/ 17 марта 2009

Вы пытались создать веб-сервис, обслуживающий JSON? Я бы попробовал это и посмотрел, насколько это соответствует вашим потребностям, прежде чем идти по маршруту Flash Remoting.

...