|
Как отправить запрос HTTP без ожидания ответа | ☑ | ||
|---|---|---|---|---|
|
0
SRM1C
18.05.18
✎
17:25
|
Вечер добрый!
Собственно, как отправить запрос, а затем идти дальше, не ждать ответ? Соединение = Новый HTTPСоединение(СтрокаЗапроса); ФайлTXT = ПолучитьИмяВременногоФайла("txt"); Соединение.ОтправитьДляОбработки("", ФайлTXT); |
|||
|
1
Юрий Лазаренко
18.05.18
✎
17:27
|
(0) На "той стороне" получай данные, проверяй на валидность и сразу возвращай ответ, что, мол, все нормально, инструкции получены и приняты к обработке. А потом данные обрабатывай в фоне.
|
|||
|
2
cons74
18.05.18
✎
17:28
|
(0) помести свой код в фоновое
|
|||
|
3
Юрий Лазаренко
18.05.18
✎
17:29
|
Ну или если нет возможности повлиять на "ту сторону", то запускай функцию, которая отправляет запрос, в фоне. То есть, функцию в фоне запустил и или дальше. Функция запрос отправила и ждет результата. Дождалась - сделала с результатом что надо. А ты в удобное время за этим результатом зайдешь.
|
|||
|
4
SRM1C
18.05.18
✎
17:29
|
(1) Суть такая, что запрос отправился, дальше мне не интересно, что там будет в ответе, сам запрос по результату зайдет в мой web-сервис, где обработается как надо, а здесь меня интересует только отправка запроса.
|
|||
|
5
Юрий Лазаренко
18.05.18
✎
18:23
|
(4) Тогда вариант (3): запускай запрос в фоновой процедуре, она все что надо отправит и сколь угодно долго сможет ждать ответа от сервера (ну или отвалится по таймауту, если не дождется), не влияя на работу алгоритма, который эту процедуру запустил.
|
|||
|
6
Redkiy
18.05.18
✎
19:28
|
(4) А как ты узнаешь, что запрос вообще дошел до адресата?
200 по любому нужно получить в ответ. Даже без обработки, как гарантия что "посылка получена". |
|||
|
7
Cyberhawk
18.05.18
✎
20:14
|
(6) Можно на стороне БД отправителя запроса логировать исходящие запросы. На стороне БД получателя логировать входящие запросы. Далее сопоставлять на любой стороне (лазая в другую БД), что было отправлено и что было принято.
|
|||
|
8
Сияющий в темноте
18.05.18
✎
22:28
|
В любой системе это называется асинхронные запросы.
если под виндой,то можно прикрутить ServerXmlHttpRequest,он так умеет и вызывает событие. Насколько я помню,1с умеет обрабатывать события от COM-серверов. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |