|
Как сделать одно COM-соединение доступным глобально во всех серверных модулях?
| ☑ |
0
Chai Nic
18.03.13
✎
14:50
|
Требуется открыть подключение по COM к другой информационной базе, и чтобы оно сохранялось на всё время сеанса работы пользователя, и было доступно во всех модулях, исполняемых сервером. Обращение к этой базе будет периодическим. Инициализировать в общем модуле каждый раз COM-соединение, подключаясь к базе заново - слишком долго. В параметрах сеанса не нашел возможности хранить значение типа COMObject.
А глобальных переменных, доступных из общих модулей, система создать не дает.
Какие будут идеи?
|
|
1
ДенисЧ
18.03.13
✎
14:51
|
Временное хранилищие и параметр сеанса.
Только проверяй периодически на живость
|
|
2
H A D G E H O G s
18.03.13
✎
14:52
|
ВременноеХранилище, Адрес - в параметрахСеанса, хранится 20 минут, потом - аля, улю.
ПовторноВозвращаемые параметры ОбщегоМодуля, но не пробовал.
|
|
3
Волшебник
18.03.13
✎
14:53
|
1. Заведи глобальную переменную в модуле приложения.
2. В общем модулем заведи экспортную функцию ПолучитьCOMСоединение()
3. Функция создаёт ОбработкаОбъект, в которой получает COM-соединение из модуля приложения
|
|
4
Defender aka LINN
18.03.13
✎
14:54
|
(3) Стареешь...
Модуль приложения - клиентский :)
|
|
5
Chai Nic
18.03.13
✎
15:12
|
(2) Через повторно возвращаемые работает, спасибо
Еще связанный вопрос - как обновить видимые данные управляемой формы, если они были изменены на сервере? Скажем, если произошло добавление элементов в справочник, как сделать, чтобы они появились в форме списка без закрытия и открытия формы?
|
|
6
johnbay
18.03.13
✎
15:15
|
(5) F5
|
|
7
Chai Nic
18.03.13
✎
15:20
|
(6) А программно?
|
|
8
johnbay
18.03.13
✎
15:39
|
ЭтаФорма.Обновить()
|
|