|
Кэш метаданных для базы, отсутствующей в списке баз (v8i) пользователя ОС | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
19.12.15
✎
09:48
|
Путь к каталогу кэша метаданных для базы 1с формируется с участием ее идентификатора, который берется из списка баз (v8i) пользователя ОС.
Например в Windows7 он может быть таким c:\Users\star\AppData\Local\1C\1Cv82\4129dbdb-b495-41cb-99ea-ef315060a03e, где 4129dbdb-b495-41cb-99ea-ef315060a03e - идентификатор базы из списка баз (v8i). А как формируется этот путь, если базы нет в списке этом баз? Кэш вообще не используется? |
|||
1
ДенисЧ
19.12.15
✎
09:57
|
А зачем нужен кеш для базы, которой нет?
|
|||
2
TormozIT
гуру
19.12.15
✎
10:02
|
Запускать приложения 1с для базы можно через ее строку соединения (параметр ConnectString). Например такое может быть удобно при использовании стороннего стартера, не завязанного на пользователя ОС.
|
|||
3
hhhh
19.12.15
✎
10:05
|
(2) а если 2 списка баз?
|
|||
4
TormozIT
гуру
19.12.15
✎
10:14
|
(3) Не понял.
|
|||
5
Armando
19.12.15
✎
10:30
|
||||
6
TormozIT
гуру
19.12.15
✎
10:32
|
(5) Спасибо. Я не смог найти эту статью там сам. Итак, ответ - в этом случае кэш метаданных не используется.
|
|||
7
TormozIT
гуру
19.12.15
✎
10:38
|
Теперь возникает следующие вопросы.
1. Как проще всего добавить базу в список баз программно? 2. Как убедиться, что при запуске через строку соединения она нашлась в списке баз и стал использовать кэш метаданных? |
|||
8
Armando
19.12.15
✎
11:06
|
(7)
1. Формат списка баз известен, расположение тоже. http://its.1c.ru/db/v8doc#content:26:1:issogl1_3.3..v8i 2. http://its.1c.ru/db/metod8dev#content:1591:hdoc "В каталогах DBNameCache, ConfigSave, Config, SICache хранится множество файлов, кеширующих различные компоненты конфигурации. Эта информация является производной от конфигурации информационной базы, хранимой в базе данных, и служит для ускорения запуска клиентских приложений и повышения их производительности. Кеш конфигурации располагается в каталоге данных приложений текущего пользователя, например, C:/Documents and Settings/User/Local Settings/Application Data/1C/1cv82/7b0a6294-d6a3-41c5-a23e-dc9e5301ad22/DBNameCache." То есть по наличию этих каталогов и файлах в них, возможно и по дате их изменения. |
|||
9
TormozIT
гуру
19.12.15
✎
11:18
|
(8) Лобовой метод добавления базы в список (через v8i) понятен. Я надеялся что есть попроще способы. Например при создании базы ее можно добавить в этот список
CREATEINFOBASE <строка соединения> [/AddInList [<имя ИБ>]] /AddInList — параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список. Способ проверки использования кэша текущим приложением через проверку наличия каталога не подходит, т.к. сначала мне нужно узнать идентификатор базы ровно тем способом, которым его узнает платформа. А способ этот детально не описан. Плюс он довольно сложный в общем случае. К тому же дата изменения могла быть обновлена другим процессом, запустившим ту же базу через список баз, а не через строку соединения, по которой база в списке не нашлась. |
|||
10
TormozIT
гуру
19.12.15
✎
11:34
|
Еще вопрос. Используется ли кэш метаданных в режиме внешнего соединения?
|
|||
11
Armando
19.12.15
✎
11:41
|
(10) по ссылке (5) написано "Влияет на пользователей толстого клиента и конфигуратор."
|
|||
12
TormozIT
гуру
19.12.15
✎
11:45
|
(11) Это еще не значит, что кэш метаданных в режиме внешнего соединения не используется. Данная статья родилась явно как ответ на чей то вопрос. Вполне возможно что про редко используемое внешнее соединение в очередной раз забыли. Логика подсказывает что в режиме внешнего соединения кэш также используется.
|
|||
13
Bober
19.12.15
✎
11:48
|
(12) хочешь найти причину по которой COM+ так тупит?
|
|||
14
TormozIT
гуру
19.12.15
✎
11:52
|
(13) COM+ тут не причем. Хочу разобраться во всех тонкостях работы кэша конфигурации на клиентской стороне, чтобы реализовать соотвествующий функционал для максимального контроля над ним в первую очередь с диагностической и исправительной точек зрения.
|
|||
15
Bober
19.12.15
✎
11:54
|
(14) о, это очень нужная вещь. а то все работы по проблемам с кэшом заканчивают его очисткой скриптом при входе пользователя.
|
|||
16
Bober
19.12.15
✎
11:56
|
(14) позже скину очень прикольный баг в работе 1с со своим кэшом, при котором клиентская часть начинает тупить пока не очистишь кэш.
|
|||
17
TormozIT
гуру
19.12.15
✎
11:59
|
(11) Первые мои эксперименты показали, что кэш метаданных в режиме внешнего соединения не используется.
|
|||
18
Bober
19.12.15
✎
12:05
|
(17) на стороне сервера или даже на стороне клиента, у которого есть эта база в списке?
|
|||
19
TormozIT
гуру
19.12.15
✎
12:07
|
(18) На клиенте запустил с одинаковой строкой соединения сначала внешнее соединение, после чего каталог кэша не появился, потом запустил толстый клиент с параметром ConnectString с той же строкой соединения, после чего каталог кэша появился.
|
|||
20
Bober
19.12.15
✎
12:09
|
(19) а если после создания каталога снова попробовать подключиться внешним и посмотреть утилитой будет ли система запрашивать ресурсы из этого каталога?
|
|||
21
TormozIT
гуру
19.12.15
✎
12:10
|
(20) =)
|
|||
22
TormozIT
гуру
19.12.15
✎
12:12
|
(17) Проверял пока только в файлом режиме (базы, к которой подключалось внешнее соединение).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |