Flutter - Как оживить расширение материала карты при добавлении большего количества виджетов?

Уведомление о запросе будет нажимать на службу Service Broker, а не непосредственно на ваше приложение. См. «Таинственное оповещение» , чтобы понять, как это работает. Ваше приложение ожидает уведомлений, отправив в базу данных инструкцию WAITFOR(RECEIVE) . Это означает, что каждый из 100 клиентов занимает один рабочий поток SQL Server (которые ограничены, см. Параметр max worker threads ). Я видел, что это работает на производстве с +1000 клиентами (после того, как вы набрали опцию максимального рабочего потока), но я бы посоветовал против .

Моя рекомендация состояла бы в том, чтобы один мониторинг службы для изменений, используя SqlDependency / QueryNotifications. Эта служба затем будет толкать уведомления, используя, например, WCF, всем вашим работающим приложениям. Вы должны подписаться на общие изменения (the table Foo was changed), а не на конкретные (the row x in table Foo was inserted).

Как правило, SqlDependency / Query Notifications может только сообщать вам, что данные изменились, t нажмите новые данные . Приложение должно обновить свои локальные наборы данных, выполнив запросы снова, после уведомления.

1
задан A Abraham 16 January 2019 в 18:55
поделиться