Как опросить статус на стороне клиента

Мне нужно узнать статус объекта, который может измениться в любой момент. В лучшем случае, если объект изменяется, клиентская сторона обновляется, однако я не думаю, что есть сантехника для отправки обновлений на клиентскую сторону без предварительного запроса клиентской стороны.

Итак, я думаю о реализации опроса через jQuery ajax-вызов, который устанавливается на сервер вызовов каждые 5 секунд или около того. Это разумное решение?


person dev.e.loper    schedule 07.09.2011    source источник
comment
Я делаю простой jquery-опрос каждые 5 минут на наших сайтах, чтобы проверить статус и доступность нашей поддержки в чате и соответствующим образом обновить страницу.   -  person Todd Smith    schedule 07.09.2011


Ответы (1)


В лучшем случае, если объект изменяется, клиентская сторона обновляется, однако я думаю, что есть сантехника для отправки обновлений на клиентскую сторону без предварительного запроса клиентской стороны.

Вы можете проверить SignalR, что позволит вам получать PUSH-уведомления для клиентов. В результате этого трафик будет значительно уменьшен, а ваше приложение будет очень оптимизировано.

Итак, я думаю о реализации опроса через jQuery ajax-вызов, который устанавливается на сервер вызовов каждые 5 секунд или около того. Это разумное решение?

Да, конечно, это классический метод опроса, если вы не хотите использовать PUSH.

person Darin Dimitrov    schedule 07.09.2011
comment
Вы меня опередили :) У Скотта Хансельмана была хорошая статья об этом здесь. - person Bengel; 07.09.2011
comment
@Bengel, это именно та статья, на которую я ссылался в своем ответе. - person Darin Dimitrov; 07.09.2011
comment
Просто любопытно. Является ли SingnalR официальным решением для создания постоянного соединения в ASP.NET? Я имею в виду, что это не часть ASP.NET MVC. Это случится? Скотт говорит, что SignalR — это библиотека асинхронной сигнализации для ASP.NET, над которой работает наша команда. Стабильно ли использовать? - person dev.e.loper; 07.09.2011
comment
@dev.e.loper, он находится в разработке и, возможно, однажды даже станет частью фреймворка. - person Darin Dimitrov; 07.09.2011