Показать сообщение отдельно
Старый 11.05.2011, 23:55   #9  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Не знаю, работает ли это на практике, но судя по всему, нужно сразу после накатывания модификаций, через меню сервис последовательно вызвать
1. Средства разработки\объекты приложения\обновить АОD
2. -\\- обновить словарь
3. -\\- обновить данные

В каждом из этих случаев "взводится" соответствующая команда всем АОСам через вызов SysEvent::fireEvent(SysEventType::XXXXXX), где XXXXXX = [FlushAOD | FlushData | FlushDictionary | ...]); Команда помещается в таблицку табличку SysEvent.

Каждый из АОСов в отдельном потоке потоянно "слушает" эту таблицу и при появлении в ней команды исполняет её посредством класса "SysEventHandler", который инициализируется на стартапе АОСа. Таким образом, проблема сброса кэша и подтягивания изменений должна решаться для АОСов.Ну а клиентам придется перезайти в систему, хотя, можно подумать в сторону простейшего допила этой функции для клиентских сессий. (но, видимо, неспроста функциональность намеренно ограничена только для серверных сессий - см. код)

Этот механизм реализован как минимум в AX2009. Если механизм эффективен, то для старых версий навскидку можно реализовать по аналогии.