Я опишу мою проблему настолько подробно, насколько это возможно, чтобы вопрос имел смысл. У меня есть TabNavigator и каждая вкладка является модулем.
У меня есть две вкладки, Люди и Отделы (т.е. у меня есть два модуля, People.mxml и Departments.mxml), и в каждой из них определено одно и то же пространство имен: xmlns:valueObjects="valueObjects.*"
. В обоих модулях я делаю некоторые сервисные звонки.
У меня есть две службы: PeopleService и DepartmentService. В обоих модулях у меня определены следующие значения valueObjects:
<valueObjects:Person id="person"/>
<valueObjects:Department id="department"/>
и определены следующие ответчики вызовов:
<s:CallResponder id="getPeopleResult" result="person = getPeopleResult.lastResult as Person;"/>
<PersonService:PersonService id="personService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>
<s:CallResponder id="getDepartmentsResult" result="department = getDepartmentsResult.lastResult as Department;"/>
<DepartmentService:DepartmentService id="departmentService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>
У меня есть dataGrid на вкладке Люди и сетки данных, в которых перечислены все люди и все отделы. Когда я нажимаю на строку в сетке данных, я получаю заполненную форму данных без проблем. DataGrids на вкладке Отделы работают. Однако, когда я щелкаю по dataGrid, подробные формы не заполняются, а значение объекта и отдела отслеживаются как NULL.
Если я отключу вкладку «Люди», форма «Подробности» на вкладке «Отделы» будет работать нормально.
Что я сделал в попытке решить проблему: Предоставление уникальных идентификаторов всем valueObjects и ServiceCalls. Это не сработало.
Возможно, проблема в том, что:
ValueObjects из двух модулей каким-то образом совместно используются в памяти. Это не должно иметь место, поскольку данные модуля должны быть изолированными.
Есть идеи, как решить эту проблему?