Я хочу сделать сервис, который уведомляет пользователя, если есть новые сообщения, отправленные ему. Таким образом, я хочу использовать некоторую инфраструктуру Comet, которая обеспечивает возможность push-сервера. Поэтому я просмотрел PokeIn.ASP.net как долгий опрос с PokeIn?
Просто интересно. Я проверил образцы, которые у них есть на веб-сайте. Ни один из них не заглядывает в базу данных, чтобы получать новые записи, если они есть. Но я думаю, это просто вопрос модификации.
Один из примеров реализует этот длинный опрос, используя сон на стороне сервера. Поэтому, если я использую тот же подход, я могу проверить базу данных, если есть какие-то новые записи, каждые 5 секунд. Однако этот подход не сильно отличается от того, когда вы используете опрос на стороне клиента с помощью javascript.
Эта часть взята из образца. Как видно, они спали там, чтобы обновить текущее время для всех.
static void UpdateClients()
{
while (true)
{
//.. code to check database
if (CometWorker.ActiveClientCount > 0)
{
CometWorker.SendToAll(JSON.Method("UpdateTime", DateTime.Now));
}
Thread.Sleep(500);
}
}
Так что я удивляюсь, как я должен внедрить уведомитель сообщения? Похоже, что вышеупомянутый подход все еще будет подталкивать огромную нагрузку на серверную сторону. Извещатель сообщения намерен работать так же, как тот, который нашел Facebook.
благодарит за информацию. Что касается изменений событий данных, существует ли также подход, в котором применяется обнаружение изменений данных в лазурной таблице? – starcorn
№. возможно, вы должны задать это по отдельному вопросу. (аналогичное решение SQLDependency для Azuretable и т. д.) – Zuuum