0
Skylark
12.10.16
✎
17:45
|
Есть нубский вопрос про веб-сервисы (8.2).
Получаем через веб-сервис несколько различных объектов подряд.
Для каждого объекта своя процедура и в ней подключение к веб-сервису.
Если сделать одно подключение в начале и потом передавать его в процедуры загрузки объектов, не возникнет ли такой ситуации, что пока какой-нибудь тяжелый объект записывали, веб-сервис отвалился по тайм-ауту или как его там?
С другой стороны я в отладчике посмотрел - если веб-сервис подключен, то повторное его же подключение проходит моментально, так что может и не париться - пусть каждая процедура подключается сама, на быстродействии это не слишком скажется?
|
|
2
Юрий Лазаренко
12.10.16
✎
18:38
|
(0) При первом подключении создается пул подключений, который висит потом некоторое время (по умолчанию 20 минут, это время можно поменять в конфигурате в параметрах публикации "Время жизни соединения (с.)"). Пока пул жив, все остальные подключения идут через него. Именно поэтому первое подключение всегда долго происходит, а остальные моментально.
Теоретически, если за время запроса результат не вернется в положенный срок, то пул сломается и запрос придется делать заново. Но сломается или не - это вопрос, надо проверять.
Итого:
1. Каждый новый запрос к веб-сервису будет идти через один пул
2. Время выполнения каждого запроса должно быть адекватным, но не думаю, что у вас там обработки длительностью несколько минут и больше, так что все должно работать
3. Если на одном запросе будет все плохо и он не выполнится, то следующий запрос все равно сработает и при необходимости создаст новый пул соединений (если этот запрос не такой же тяжелый, как упавший).
|
|
4
Cyberhawk
12.10.16
✎
19:52
|
С 8.3.9.1818 реализовано переиспользование сеансов, т.е. на каждый вызов веб-сервиса не будет создаваться новый сеанс, что на порядок сокращает длительность частых вызовов.
Так что либо делайте базу-поставщика веб-сервисов с таким режимом совместимости, либо все-таки в одном веб-сервисе все выполняйте (без последовательных множественных вызовов).
|
|