Совет Александра Левыкина о том, как управлять кэшированием объектов в трехуровневой Аксапте и снизить нагрузку на канал.

При первоначальном запуске клиента и использовании любой функциональности, клиент загружает к себе в память необходимые объекты AOD. При последующем обращении к уже используемой ранее функциональности, клиент использует уже загруженные в память объекты. При выходе из программы клиента, происходит копирование данных AOD из памяти клиента в файл на диске, посмотреть на него можно в папке %UserProfile%\Local Settings\Application Data\, файл имеет расширение *.aoc и именуется согласно правилу ax_AOS_Instancename@Hostname_username.aoc.

При повторном запуске клиента, данные из файла *.aoc загружаются в оперативную память, и не требуют загрузки с AOS.

Существует возможность использовать заранее заготовленный файл с кэшируемыми данными AOD. Для этого необходимо выполнить следующую последовательность действий:

  1. Загрузите 3-х уровневого клиента, используя широкий канал связи, локальную сеть или непосредственно на AOS.
  2. Произведите все стандартные действия необходимые клиенту, для того что бы загрузить в память все необходимые объекты AOD.
  3. Выйдите из программы, при этом будет создан файл с кэшируемыми данными.
  4. Переименуйте получившийся файл кэша ax_AOS_Instancename@Hostname_username.aoc в файл с наименованием master.aoc
  5. Переместите файл master.aoc на машину клиента в папку %UserProfile%\Local Settings\Application Data\
  6. Запустите клиента.

К чему это приведет.

Клиент при запуске прочитает данные из файла master.aoc, тем самым избавит клиента от загрузки необходимых для работы объектов AOD. Это снизит первоначальный сетевой трафик и позволит пользователю сразу приступить к работе. При выходе из программы создастся новый файл с именем в формате ax_AOS_Instancename@Hostname_username.aoc, он будет содержать данные из master.aoc. При дальнейших запусках файл master.aoc уже не требуется, все кэшируемые данные уже будут хранится в ax_AOS_Instancename@Hostname_username.aoc.

А теперь самое неприятное, все это замечательно работает на Axapta до v.3.0. А начиная с этой версии с кэшем на клиенте происходит что то не понятное, из файла master.aoc читается только малая часть содержимого, практически не влияющая на первоначальную загрузку.

 

Добавлено 17.06.2004

Автор AndySwan

А теперь самое неприятное, все это замечательно работает на Axapta до v.3.0. А начиная с этой версии с кэшем на клиенте происходит что то не понятное, из файла master.aoc читается только малая часть содержимого, практически не влияющая на первоначальную загрузку.

Это не совсем так, просто в 3-й аксапте файл master.aoc надо помещать в каталог %HOME_AXAPTA_CLIENT%\log и тогда он берется без проблем.

Кроме того столкнулся с такой проблемой:
В Аксапта 3.0 SP3 CIS под тонким клиентом в определенный момент AOS выкидывал критическую ошибку и закрывал аксапту. Решил проблему тем,
что создал на клиенте файл master.aoc по описанному выше способу в каталоге %HOME_AXAPTA_CLIENT%\log