Ответ 1
Поскольку вы упоминаете ASP.NET
, вы должны использовать SignalR
.
См. Мой другой ответ здесь: Мгновенные уведомления, такие как Facebook
Какой лучший способ вывести информацию с сервера на веб-клиент? Я знаю, что можно настроить сокеты с помощью Silverlight и Flash, но я хочу оставаться в стороне от этих двух технологий.
Gmail, похоже, отлично справляется с опросом серверов для обновления электронных писем, и даже их чат-программы отлично работают (все работают в моем веб-браузере). Любые идеи о том, как лучше всего сделать что-то подобное, но используя asp.net?
Изменить: Если мне нужно опросить, я бы хотел опросить сервер каждые 2 или 3 секунды. Поэтому я не уверен, как это сделать, не доводя до этого веб-сервера до колени при интенсивном использовании.
Поскольку вы упоминаете ASP.NET
, вы должны использовать SignalR
.
См. Мой другой ответ здесь: Мгновенные уведомления, такие как Facebook
Техника толкания, которую вы ищете, называется Comet. См. эту статью для некоторых указателей.
Попробуйте WebSync, масштабируемый кометный сервер, созданный для .NET/IIS. Это позволит вам легко извлекать данные с сервера и легко интегрировать с проектами ASP.NET(требуется всего лишь несколько записей web.config).
PokeIn - это обратная библиотека ajax для ASP.NET и Mono. Он имеет различные возможности, такие как .NET для JSON наоборот. Вы можете загрузить примеры проектов из здесь
Я бы создал script вызываемую веб-службу и использовал JQuery.
Вот хорошее руководство по использованию JQuery для вызова веб-службы ASP.NET(ASMX):
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/
Теперь вы просто опросите эту веб-службу в любом интервале, имеющем смысл для вашего приложения.
Кроме того, проблема с ASP.NET AJAX немного тяжелая. Используя JQuery, вы можете вызвать свой веб-сервис из обычной веб-формы ASP.NET, из представления в MVC или на самом деле использовать любые другие веб-технологии (классический ASP, PHP, любой) со стороны клиента, используя только в моем view, лучшая структура javascript.:)
Для этого используйте ASP.NET 3.0/3.5 или если вы используете более ранние версии, используйте ASP.NET Ajax. Однако оба примера, перечисленные вами, используют Ajax для извлечения информации, а не для ее нажатия.