Опрос По сравнению с обратными вызовами AsyncCallback - лучше всего приближается для медленного веб-сервиса?

У меня есть веб-страница, которая использует Ajax для получения результатов поиска для страницы. На стороне сервера я запрашиваю веб-сервис, который является очень медленным - 20 секунд к 2 минутам.

Насколько я понимаю мои опции или опрашивают или имеют длительный запрос.

AsyncCallback, кажется, идеален, так как результат был бы возвращен, как только веб-сервис отвечает, и поток не будет заблокирован на серверной стороне.

Существует ли лучший подход к выполнению этого? Вы знаете о каких-либо проблемах с длительными Запросами HTTP в jQuery?

Обновление: Да, я буду кэшировать ответ от веб-сервиса, если это возможно. Я не имею никакого контроля над внешним веб-сервисом, который я запрашиваю.

7
задан andyuk 19 July 2010 в 08:12
поделиться

2 ответа

Мы используем AsyncCallbacks для опроса сервера, который обычно отвечает за 4:30 - 5 минут, и система работает нормально.

Стоит отметить, что вы не получите никаких преимуществ (производительность, время отклика и т. Д.), За исключением того факта, что пул рабочих потоков IIS не будет исчерпан, если вы получите слишком много запросов: т.е. Если мы получаем 2 запроса в минуту, у нас обычно будет 10-12 ожидающих запросов. В этом случае AsyncCallback не будет иметь никакого значения. Если мы получаем 100 запросов в минуту, это означает 500-600 ожидающих подключений, поэтому Async является обязательным. Речь идет только об управлении пулом потоков.

2
ответ дан 7 December 2019 в 16:38
поделиться

Есть только одна проблема с этим подходом, когда пользователь переходит на другую страницу, которую вы можно где-то кэшировать результаты, чтобы вам не приходилось постоянно запрашивать веб-сервис.

1
ответ дан 7 December 2019 в 16:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: