Вот то, что я пытаюсь сделать. У меня есть веб-сайт, который позволяет пользователям отправить запросы, которые стоятся в очереди в таблице Jobs, которую сервис берет и обрабатывает. У меня есть столбец состояния в таблице, которая обозначает, стоится ли запрос в очереди для того, чтобы обработать или быть currenty, обработанным сервисом, или сервис завершил обработку запроса. Весь процесс занимает несколько минут.
У меня есть страница Status ASP.NET, на которой я должен буду показать текущий статус их запроса на оперативной основе. Я хочу отобразить некоторую анимацию и обозначить текущий статус. Одним путем я мог сделать, это должно иметь meta http, обновляются каждый x секунды, который проверяет состояние запроса (я предполагаю, что это - то, как сайты, такие как Expedia, Priceline делает это?)
Я хотел бы предотвратить полное обновление страницы, возможно и ищет решение для Ajax/jQuery. Как я реализовал бы это? Действительно ли опрос является корректным подходом?
Опрос через AJAX - самый простой и легкий для ваших нужд. Если вы знаете верхнюю и нижнюю границы по времени, то, вероятно, я бы просто запустить анимацию в течение этого времени, а затем сделать что-то для исключительного случая.
Другие сделали то же самое:
Смотри: http://news.ycombinator.com/item?id=946165 and http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf
Вы изучали асинхронные вызовы сервера? Это позволит вам отправить вызов на сервер и не ждать результата, когда вызов завершится, будет запущено событие, и будет запущен метод на странице клиента, это звучит как то, что вам нужно, и у вас не будет для проведения опроса дополнительная информация:
http://msdn.microsoft.com/en-us/magazine/cc163725.aspx
Надеюсь, это поможет.
Возможно, вы захотите взглянуть на "длинный опрос", также известный как Комета.
Идея в том, что вы делаете асинхронный Ajax запрос от клиента. На стороне сервера вы подвешиваете запрос до тех пор, пока не изменится какое-либо состояние (так, чтобы у него было что-то новое, о чем можно было бы сообщить). Затем вы освобождаете запрос, и он возвращает обновленную информацию.
Это имеет преимущество перед чистым опросом в том, что запросы возвращаются только тогда, когда что-то изменилось. Он также может показаться более отзывчивым, так как в значительной степени зависит от стороны сервера.
Опрос, вероятно, лучший подход, если вы не хотите, чтобы веб-страница постоянно работала на сервере ...
Однако, если вас это не беспокоит, тогда вы можете взглянуть на [ аналогичный ответ ] Я задал другой вопрос, который позволяет вам динамически обновлять страницу ... Браузер будет продолжать «загружать» страницу до ее завершения.