Показать сообщение отдельно
Старый 16.09.2020, 17:42   #3  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Добрый день.

С точки зрения производительности мы пришли к следующему решению: Есть web-сервис, к которому могут обращаться внешние приложения. У web-сервиса есть пул бизнес коннекторов с открытым подключением (размер пула прописываем в web.config). Если в web-сервис приходит какой-то запрос - смотрим в пул - есть там свободный BC или нет, если есть, то запрос его забирает, выполняет с ним обращение к AX и возвращает в пул (пул его принимает если размер пула не максимальный). Если в пуле свободного BC нет - создается новый BC => устанавливается соединение к AX => вызывается какая-то логика в AX => попытка положить BC в пул. Если в пуле максимальное число доступных BC - закрываем соединение с AX. Если пул не полный - не закрываем соединение для BC и кладём его в пул. Несколько раз в день на периодической основе пул "рефрешим" (на всякий случаем переоткрываем соединения для BC в пуле).
За это сообщение автора поблагодарили: Logger (3).