Загрузка файла конфигурации XML ДО загрузки приложения flex - PullRequest
1 голос
/ 19 апреля 2010

Мы используем файл XML в качестве внешнего файла конфигурации для нескольких параметров в нашем приложении (включая значения по умолчанию для компонентов пользовательского интерфейса и значения свойств некоторых объектов уровня обслуживания). Идея состоит в том, чтобы иметь возможность загрузить XML-файл конфигурации до , когда приложение flex инициализирует любой из его компонентов. Это очень важно, потому что загрузка XML обрабатывается асинхронно в flex, что потенциально может привести к гонкам в приложении.

Например, : файл конфигурации содержит URL-адрес конечной точки веб-службы, используемой для получения данных с сервера. URL находится в XML, потому что мы хотим, чтобы наши пользователи могли изменять URL конечной точки в соответствии со своей средой. Теперь, поскольку URL-адрес конечной точки извлекается только после полной загрузки XML, некоторые компоненты приложения могут вызывать операции с этим веб-сервисом до его инициализации с правильной конечной точкой. Тривиальным решением было бы приостановить инициализацию приложения до тех пор, пока загрузчик не отправит событие complete . Но, похоже, это решение далеко не тривиально. Я не нашел ни одного решения, которое позволяло бы мне загружать XML перед любым другим объектом в приложении.

Кто-нибудь может посоветовать или прокомментировать этот вопрос?

С уважением, Шахар

1 Ответ

0 голосов
/ 19 апреля 2010

У вас не может быть синхронных операций, и в этом случае я бы выбрал следующий подход: после того, как ваше приложение отправит событие завершения создания, загрузите XML. Все пользовательские взаимодействия, для которых требуются данные, загруженные из xml, отключены, а все остальные фоновые операции еще не запущены.

После загрузки xml отправьте событие, чтобы сообщить об этом. Обработчик событий должен создавать удаленные объекты, веб-службы и т. Д., Активировать действия пользовательского интерфейса или выполнять операции ввода-вывода, которые не связаны с взаимодействиями пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...