2016-08-28 2 views
1

В настоящее время я транслирую в реальном времени трансляции живых выступлений для спортивных выступлений. В настоящее время это достигается за счет запуска непрерывного консольного приложения (Azure WebJob) для сбора данных и их трансляции.Непрерывное вещание с SignalR

Текущее решение довольно простое. 2 потока. 1 извлекает из базы данных и добавляет в общую коллекцию (совместно используемую между потоками), а другой поток выбирает из общей коллекции и передает их подписчикам с гораздо более частыми темпами, чем данные извлекаются, следовательно, 2 потока.

Это лучший способ сделать это (непрерывное вещание), или есть другие методы, которые могут быть реализованы для достижения такого решения?

ответ

2

Единственное, что я могу придумать, - это переключить поток широковещательной передачи из непрерывного цикла в действие, основанное на событиях, на основе триггера, запускаемого из новой оценки, доступной. Нет необходимости транслировать дублирующийся балл, поэтому вы запускаете событие, когда пользователь входит в систему, чтобы получить текущий счет, а затем запускайте событие обновления, когда доступен новый/другой счет.

+0

Спасибо! Это будет работать довольно красиво :) – pieperu

Смежные вопросы