Если вы выполняете асинхронные вызовы с клиента, а сервер не является веб-фермой, все вызовы будут обрабатываться на сервере. И это может сделать тайм-аут звонков. В действительности это не говорит о вашем коде.
Допустим, вы просматриваете список из 10 элементов, каждый ответ обрабатывается на сервере в течение 10 секунд. Поскольку вы используете один и тот же прокси-сервер, все вызовы будут достаточно быстро отправляться из клиентского кода. Но для возврата всех ответов потребуется около 100 секунд (обратите внимание, что я не принимаю во внимание, что у вас задержка в сети, сериализация объектов и т. Д. И т. Д.)
Это означает, что все звонки после номера 6 истечут.
Если бы на сервере было больше доступных потоков для обработки данных, этого можно было бы избежать, но проблема могла появиться где-то еще. Вы должны быть в состоянии повторить тот же вызов еще раз, так как тайм-аут может возникнуть и по любой другой причине, из-за проблем с сетью, из-за временной перегрузки сервера и т. Д. И т. Д.
Я бы посоветовал создать какую-то систему запросов, которая отправляет все вызовы сервера, чтобы вы могли сделать тот же вызов снова. Как это будет реализовано, зависит от вашего сценария:
Они должны быть отправлены в определенном порядке?
Вам нужно знать, когда последний звонок вернулся?
и т.д.