Развертывание проектов Flex с использованием импортированных веб-служб - PullRequest
0 голосов
/ 10 декабря 2008

Я уверен, что этому есть простое объяснение, но мне пока не очень повезло с поиском ответа, поэтому я решил рассказать об этом своим коллегам, так как уверен, что некоторые из вас сталкивался с этим раньше.

В моей (простой) среде разработки я работаю с несколькими веб-службами WCF, импортированными в мой проект FB3 и ориентированными на локальный экземпляр веб-сервера разработки ASP.NET. Все хорошо, никаких проблем - но сейчас я хотел бы знать, как правильно развернуть этот проект в тестовой, промежуточной и рабочей средах? Если все мои импортированные прокси указывают, скажем, на http://localhost:1234/service.svc (из которого были импортированы их WSDL), и все, что я развертываю, это скомпилированный SWF, ожидает ли Flex Builder «Управление веб-службами> Удалить», "> Добавлять", перекомпилировать и выпускать каждый раз, когда я хочу перевести свой скомпилированный проект Flex из разработки в тестирование и в промежуточную стадию, и в конечном итоге в производство? Есть ли более простой рабочий процесс для этого?

Заранее спасибо - надеюсь, мой вопрос был ясен.

Ура, Chris

Ответы [ 3 ]

0 голосов
/ 31 декабря 2008

Спасибо, Бретт. В любом случае, я собирался заняться автоматизацией процессов сборки, так что сейчас, вероятно, такое же хорошее время, как и любое другое. :)

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

Вам не нужно создавать SWF для каждой среды. Вот техника, которую я обычно использую:

  1. Выведите ваши свойства конфигурации в файл XML; в этом случае это может быть URL-адрес для каждой службы или базовый URL-адрес, используемый всеми вашими службами
  2. Когда приложение запускается, вызовите HTTPService, чтобы загрузить файл XML, проанализировать его и сохранить ваши свойства в некотором привязываемом «объекте конфигурации»
  3. Привязать значения из этого объекта к вашим объектам, которые зависят от URL
  4. Отправка события, которое указывает, что ваша конфигурация завершена. Если у вас есть какой-то диспетчер одноэлементных событий, используемый некоторыми компонентами в вашем приложении, используйте его, чтобы уведомление было глобальным
  5. Теперь продолжите инициализацию вашего приложения

Требуется немного поработать, чтобы организовать ваше приложение так, чтобы определенные части не инициализировались, пока не будут выполнены шаги 1-5. Однако я думаю, что хорошей практикой является обработка большей части этой инициализации явно, а не в конструкторах или различных событиях initialize или creationComplete для компонентов. Вам может понадобиться повторно инициализировать вещи, когда пользователь выходит из системы, а другой пользователь входит в систему; если ваше приложение уже настроено на эту инициализацию, которой вы можете управлять, то повторная инициализация не будет проблемой.

0 голосов
/ 31 декабря 2008

Если у вас есть имена путей, которые будут меняться в зависимости от среды, вам, вероятно, потребуется перекомпилировать для каждой среды, так как они будут скомпилированы в SWF.

Обычно я использую сценарии ANT для управления процессом компиляции / развертывания при переходе из среды разработки и производства. Это дает мне возможность динамически изменять любые пути во время компиляции. Эти файлы сборки могут быть интегрированы в Flex Builder, что делает этот процесс очень простым, когда все настроено, и может быть выполнено одним щелчком мыши или по расписанию.

...