Flex & WebServices - PullRequest
       34

Flex & WebServices

0 голосов
/ 31 января 2011

У нас есть приложение Flex, которое в значительной степени опирается на контент, управляемый данными, предоставляемый через asp.net.В настоящее время большая часть этих данных предоставляется через объекты asp.net, которые затем сериализуются в XML и отправляются с помощью простого обработчика ASHX.Затем он анализируется с помощью e4x в одноэлементных классах, чтобы заполнить его сам или массивы подклассов, которые затем становятся доступными для остальной части приложения без дополнительных вызовов данных.

Это работает, но это лучший способ?Я прочитал довольно много статей, обсуждающих эту тему, но не смог найти единого мнения.

Стоит ли мне конвертировать их в веб-сервисы?Если да, то как мне управлять привязками, автоматически импортировать их через Flex или создавать свои собственные?Каковы плюсы и минусы.Важным фактором в этом решении является скорость, наименьшая задержка и наивысшая пропускная способность.

В отдельном случае наше приложение не находится в корне домена, а когда в локальной разработке выполняется передача данных в нашу разработкусервера.В результате мы добавляем флэш-переменные в приложение, чтобы указать appRoot, который затем добавляется к URL-адресу службы по мере необходимости.

MyService.url = GeneralData.ApplicationRootUrl + "Services/foobar.ashx";

Это лучший способ?С тех пор я обнаружил свойство rootURL. Должен ли я использовать это, как это работает в этом контексте?Если бы мне пришлось конвертировать сервисы в веб-сервисы, как бы я реализовал ту же функциональность для локальной разработки?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2011

Это работает, но лучше ли это?

Лучшее очень субъективно в зависимости от вашей ситуации. Если это вообще возможно, я бы порекомендовал вам использовать шлюз AMF. Таким образом, ваши объекты могут немедленно преобразовывать объекты на стороне сервера (классы .NET) в объекты на стороне клиента (классы AS3). Это значительно экономит время, поскольку вам не нужно вручную создавать XML-код на внутреннем сервере или обрабатывать его вручную на внешнем интерфейсе. Кроме того, двоичный формат AMF даст намного меньшие пакеты, чем XML или SOAP WebService.

Для параметров .NET AMF я бы посмотрел на WebORB или FlourineFX

0 голосов
/ 31 января 2011

Приложение Flex всегда загружается в браузер, и вы можете использовать относительный URL, чтобы ваше приложение подключалось к тому же серверу, с которого оно было загружено.

MyService.url = "/Services/foobar.ashx";

"/" обязательно добавит хост, откуда он пришел. И всегда рекомендуется подключаться к тому же хосту, с которого загружается флэш-память.

Во-вторых, веб-сервисы SOAP используют сериализацию xml, поэтому, если вы используете обработчик для сериализации e4x или используете генератор веб-сервисов SOAP Flash Builder, скорость будет почти такой же. Веб-сервис SOAP, конечно, будет немного медленнее, но разница будет в микросекундах и миллисекундах.

Тем не менее, с помощью веб-сервисов ваша разработка улучшится, так как вам не придется создавать прокси-классы.

...