2010-04-19 3 views
1

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

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

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

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

ответ

0

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

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

Смежные вопросы