Как получать регулярные обновления от базы данных Oracle к клиенту (кроме опроса)?

#c# #angularjs #oracle #plsql

#c# #angularjs #Oracle #plsql

Вопрос:

Я работаю над веб-приложением для онлайн-собраний. На каждом собрании есть две очереди, к которым пользователи могут присоединиться — одна для вопросов, другая для обсуждения. Очереди работают (могут быть объединены / оставлены) только в определенные периоды каждого собрания.

Таблица базы данных для очередей выглядит примерно так:

 id meeting_id user_id queue_id active
----------------------------------------
1   50          35      1       1  
2   50          77      1       1
3   50          15      2       1
4   150         35      2       0
5   50          89      1       1
  

Пока выполняется собрание с идентификатором 50, каждый раз, когда новая запись с этим идентификатором вставляется в эту таблицу или изменяется, обновление должно быть отправлено всем пользователям, которые в данный момент находятся на собрании (они видят длину очереди и свое место в ней).

В настоящее время я делаю это с помощью короткого опроса, но есть ли более оптимальные способы?

Ответ №1:

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