Имя: Пароль:
1C
1С v8
Повторное использование открытого COM-соединения с 1С
0 gorden
 
28.01.13
12:18
Добрый день!

Пишется WEB приложение на VB.NET. Из него идет подключение к серверу 1С через COM типичным образом:

Dim v8Com = CreateObject("V83.COMConnector")
v8Com.PoolCapacity = 2
v8Com.PoolTimeout = 60
v8Com.MaxConnections = 10
Dim v8Connection = v8Com.Connect("srvr=""servername""; ref=""infobase""; usr=""User""; pwd="""Password"")
... получаем данные из 1C

Все работает, коннектится и получает данные из 1С. Но при каждой перезагрузке WEB-страницы, на сервере 1С добавляется новое соединение и новый сеанс. Например 10 раз загрузили WEB-страницу - получили 10 новых соединений/сеансов на сервере 1С.

Как сделать так, чтобы один раз создать соединение/сеанс и использовать его в WEB-приложении повторно сколько угодно раз.

Спасибо!
1 х86
 
28.01.13
12:26
используй веб сервисы
2 gorden
 
28.01.13
12:31
Да, к WEB-сервисам я уже присматриваюсь. Просто хотелось бы понять, возможно ли обойти вышеуказанную проблему с COM соединениями? В моем случае все крутится на Windows Server 2012, пул приложений на IIS, 1С сервер + MSSQL Express.
3 hhhh
 
28.01.13
12:41
(2) ну не делайте Dim v8Com = CreateObject("V83.COMConnector") каждый раз. Берите из переменной v8Connection
4 х86
 
28.01.13
12:42
предположу что нужно запоминать v8Connection и каждый раз не создавать новый объект
5 gorden
 
28.01.13
13:16
Точно, как то мимо проскочило. Создал глобальную переменную приложения и запомнил в нее v8Connection. Теперь все OK.