Хорошо, ранее я задавал вопрос о Flex и ADO.NET Data Services, но не получил много ответов, поэтому решил перефразировать. Есть ли у кого-нибудь опыт создания приложений Adobe Flex с серверной частью .NET? Если да, то какую архитектуру вы использовали и какие сторонние инструменты использовали. Я немного читал об удаленном взаимодействии Flex с WebORB, но это кажется более сложным, чем должно быть, являются ли веб-сервисы адекватной альтернативой?
Flex и .NET. Как лучше всего передавать данные во Flex, WebORB? Веб-сервисы?
Ответы (2)
В основном я использовал простые страницы ASP.NET, которые возвращают XML для ситуаций, которые в основном являются односторонними (данные из ASP.NET --> Flex/Flash). Сторона Flex просто использует URLLoader для доступа к странице ASP.NET и загружает результат в виде XML.
Если связь должна быть немного более двусторонней (скажем, отправка более пары параметров в ASP.NET), я использовал стандартные веб-службы ASP.NET.
Я никогда не использовал удаленное взаимодействие WebOrb или Flex, потому что мне никогда не был нужен такой тип взаимодействия между сервером и SWF.
Надеюсь, это поможет.
Я считаю, что веб-сервисы на самом деле более сложны и более ограничены. Вы не можете создавать веб-сервисы с отслеживанием состояния, обмен данными происходит довольно медленно из-за многословности XML. Разработка с помощью WebORB не так сложна. В основном это сводится к разработке сборки и ее развертыванию в папке /bin приложения ASP.NET с поддержкой weborb. Как только вы это сделаете, вы сможете вызывать свои классы .NET с помощью Flex RemoteObject API. Например:
var ro:RemoteObject = new RemoteObject( "GenericDestination" );
ro.source = "com.bar.FooService"
ro.foo.addEventListener( ResultEvent.RESULT, gotFooResult );
ro.foo();
public function gotFooResult( evt:ResultEvent ):void
{
// evt.result contains the return value;
}
Важно скомпилировать проект построителя Flex с аргументом компилятора -service. Вы можете добавить в свойства проекта «Компилятор Flex» Flex Builder:
-services c:/Inetpub/wwwroot/weborb30/web-inf/flex/services-config.xml
Если вы укажете этот путь, обязательно разверните свою DLL в:
c:/Inetpub/wwwroot/weborb30/bin