IMetabase.CacheAutoClear

Синтаксис

CacheAutoClear: Boolean;

CacheAutoClear: boolean;

Описание

Свойство CacheAutoClear определяет, используется ли при работе в репозитории режим автоматической очистки кэша.

Комментарии

Если данное свойство имеет значение True, то при работе в репозитории используется режим автоматической отчистки кэша, при этом происходит очистка объектов, для которых осуществлялось извлечение структуры. Перед очисткой осуществляется проверка наличия ссылок на объекты, если ссылки отсутствуют, то объект удаляется из памяти. Для систем разрядностью х86 очистка производится при использовании более 80% виртуальной памяти. При использовании виртуальной памяти в интервале 50-80% выполняется удаление объектов, которые не использовались более 20 минут. Для систем с разрядностью х64, каждые 20 минут из кэша происходит удаление объектов, которые не использовались в течение 20 минут. В обоих случаях действие производится при получении структуры нового объекта.

Если свойство имеет значение False, то автоматическая очистка осуществляться не будет.

По умолчанию свойство имеет значение False.

Пример

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
Begin
    MB := MetabaseClass.Active;
    MB.CacheAutoClear := 
True;
End Sub UserProc;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
Begin
    MB := Params.Metabase;
    MB.CacheAutoClear := 
True;
End Sub;
End Class;

После выполнения примера будет проводиться автоматическая очистка кэша.

См. также:

IMetabase