|
Кеширование COM-соединения для нескольких сеансов. | ☑ | ||
---|---|---|---|---|
0
HardBall
22.06.16
✎
14:30
|
1С 8.1 Обычное приложение.
Замутил глобальную ТЗ с COM-соединиями. Один пользователь создал соединение, остальные пользуются. Насколько это безопасно? Может для каждого пользователя создавать новое соединение? |
|||
1
Nuobu
22.06.16
✎
14:32
|
(0) А для каждого пользователя в ком-соединении будут разные пользователи?
|
|||
2
H A D G E H O G s
22.06.16
✎
14:37
|
чето ты фантастику пишешь
|
|||
3
HardBall
22.06.16
✎
14:38
|
Один "специальный" пользователь в базе к которой подключаются.
|
|||
4
Garykom
гуру
22.06.16
✎
14:38
|
(2) Это походу именно то что запрещено лицензией 1С.
Хочет избавиться от задержки на установку соединения каждый раз. |
|||
5
HardBall
22.06.16
✎
14:39
|
(4) Именно.
|
|||
6
Nuobu
22.06.16
✎
14:39
|
(3) Тогда, если осилишь, то делай.
(4) - уточни, пожалуйста, про лицензии, а то я не понимаю. |
|||
7
Garykom
гуру
22.06.16
✎
14:42
|
(6) http://v8.1c.ru/predpriyatie/questions_licence.htm раздел Мультиплексирование, ...
|
|||
8
Nuobu
22.06.16
✎
14:43
|
(7) Так если соединение будет только одно, то в чем проблема?
|
|||
9
Garykom
гуру
22.06.16
✎
14:43
|
(8) Прочитай
|
|||
10
Nuobu
22.06.16
✎
14:44
|
(9) То бишь, если 5 пользователей работают в одной базе, потом по КОМу все ПЯТЬ коннектятся через одно соединение к другой, то нужно приобрести 10 лицензий вместо 6?
|
|||
11
Garykom
гуру
22.06.16
✎
14:45
|
(9)+ Понятие "одновременно" там не расписано, но хороший юрист докажет что не может быть "мгновенной работы" итого нужно считать за разумный период времени по среднему.
И если в течении 1 минуты у тебя на 1 лицензию было 10 соединений от 5 разных пользователей то? |
|||
12
Nuobu
22.06.16
✎
14:47
|
(11) То нужно приобрести еще 9. Спасибо.
|
|||
13
Garykom
гуру
22.06.16
✎
14:49
|
(12) еще 4 т.к. 5 юзеров
|
|||
14
skafandr
22.06.16
✎
14:51
|
(11) Не очень понятна цель решаемая ТС. Если съэкономить лицензии,то можно перечитывать Ваши ссылки. А если для экономии времени на подключение COM то можно обернуть работу с COM флагом доступности и условие лицензии в части "одновременно" соблюсти.
|
|||
15
Nuobu
22.06.16
✎
14:52
|
(13) Значит, я не понял, чего ты в (4) написал про нарушение лицензий?
Я подразумевал, что для пяти пользователей лицензии куплены. Они работают с одной базой. ТС пишет код, чтобы коннектится к другой базе под одним и тем же пользователем. В таком виде нарушения будут или нет? |
|||
16
HardBall
22.06.16
✎
14:55
|
(14) Цель - экономия времени на создание COM-соединения
|
|||
17
Garykom
гуру
22.06.16
✎
15:01
|
(15) А как проверить сколько там реально пользователей и сравнить с кол-вом приобретенных лицензий?
Про нарушение лицензии к слову написал реально то пусть делает, это типовой лисапед в других языках/системах по поддержанию пула соединений к примеру к БД и распределение работы клиентов через этот пул. Сам такой лисапед ваял на Java для mysql/postrges |
|||
18
skafandr
22.06.16
✎
15:06
|
(17) сколько реальных пользователей без разницы,важно что семафорчиком можно загарантировать одновременную работу только одного пользователя,те соблюсти требования лицензии.
|
|||
19
xxTANATORxx
22.06.16
✎
15:12
|
(2)++100500
(0)что в твоем понимании глобальная ТЗ? переменная сеанса? |
|||
20
HardBall
22.06.16
✎
15:17
|
(19) ТЗ
Колонка "Соединение" - тип COM-объект "ПутькБазе" - строка При создании соединения проверяется есть ли запись в ТЗ. Если есть запись получить из ТЗ соединение, если нет создать и записать в ТЗ. Вопрос синхронизации работы с ТЗ не стоит. |
|||
21
HardBall
22.06.16
✎
15:17
|
(20) + в модуле приложения.
|
|||
22
ptiz
22.06.16
✎
15:20
|
(21) И как второй пользователь получит переменную первого пользователя?
|
|||
23
Nuobu
22.06.16
✎
15:21
|
(22) Подойдёт к первому, воспользуется и вернётся на своё рабочее место.
|
|||
24
xxTANATORxx
22.06.16
✎
15:22
|
(22)+
(20)если бы было так просто ) это, как вариант, делается через рег задание на сервере и регистр сведений |
|||
25
HardBall
22.06.16
✎
15:23
|
(22) (21)
|
|||
26
HardBall
22.06.16
✎
15:24
|
(24) 8.1, обычное приложение, файловая БД
|
|||
27
xxTANATORxx
22.06.16
✎
15:26
|
(25)все переменные создаются и используются в "сеансе", и получить из одного сеанса переменную другого сеанса напрямую не получится
|
|||
28
Nuobu
22.06.16
✎
15:26
|
(26) Вопрос остаётся открытым.
|
|||
29
xxTANATORxx
22.06.16
✎
15:29
|
(26)ок. переменная глобального модуля глПользователь
на одном компе в одной файловой базе работают 10 пользователей, т.е. 10 сеансов напиши как получить в одном сеансе все значения этой переменной в других сеансах |
|||
30
ptiz
22.06.16
✎
15:30
|
(26) Подключись таким образом разными юзерами к одной БД, зайди в ту БД, и увидишь два подключения, как бы ты их не кэшировал.
|
|||
31
xxTANATORxx
22.06.16
✎
15:30
|
(26)чтоб реализовать(24) читай инфу по рег заданиям на файловой БД
|
|||
32
xxTANATORxx
22.06.16
✎
15:32
|
(29)+
коллеги, ну мошт есть какой нить читерский вариант, хотелось бы знать |
|||
33
Проггер
22.06.16
✎
15:35
|
Было подобное для того что бы не подключался пользователь по нескольку раз. Из минусов при обновлении базы приходилось выкидывать через консоль и дикие глюки если не обнулили переменные
|
|||
34
HardBall
22.06.16
✎
15:37
|
Походу только для одного сеанса будет кэшироваться.
|
|||
35
xxTANATORxx
22.06.16
✎
15:39
|
(34)ну это тоже норм
токма СОМобъект нужно пинговать раз в 20 мин чтоп не отваливался |
|||
36
ptiz
22.06.16
✎
15:40
|
(0) В 8.3.9 появится пул соединений, вот там будет шустро.
|
|||
37
ptiz
22.06.16
✎
15:40
|
(36)+ конечно же, для веб-сервисов и т.п.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |