Развертывание проектов Flex с использованием импортированных веб-служб

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

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

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

Ура, Крис

10.12.2008 13:46:42
3 ОТВЕТА
РЕШЕНИЕ

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

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

0
30.12.2008 21:58:24

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

0
31.12.2008 19:06:02

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

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

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

0
31.01.2009 03:50:54