Любое тело использует sql Service Broker для обновления графического интерфейса winforms (WPF)? - PullRequest
2 голосов
/ 03 июня 2009

У меня есть сценарий для обновления графического интерфейса приложения Winforms, когда когда-либо происходит изменение данных в таблице базы данных. Любое тело, использующее SQL Service Broker, делает то же самое?

Например:

У меня есть таблицы клиентов и заказов в базе данных SQl Server 2005, и у меня есть приложение winform (WPF), которое находится на стойках руководителей Call Center (скажем, CCE-A, CCE-B, CCE-C, CCE-D) ожидающих заказов клиентов.

Все эти руководители Call Center будут обрабатывать отложенные заказы одновременно. Как разработчик, моя задача - обновлять GUI руководителей Call Cener, когда есть изменения в таблицах клиентов и заказов.

Заранее благодарим за ваше драгоценное время.

1 Ответ

2 голосов
/ 05 июня 2009

Это действительно зависит от количества графических интерфейсов, которые вы должны будете обновлять. По сути, SqlDependency работает с ServiceBroker для запуска обновлений приложения при изменении данных в базе данных, так что вы можете использовать их или свернуть свою собственную реализацию, но предостережение заключается в том, что это не подходит для крупномасштабных / мульти-зависимых обновлений из-за накладных расходов каждой зависимости. Pro SQL Server 2008 Service Broker от Клауса Ашенбреннера - отличный пример того, как вы можете использовать Service Broker с управляемым кодом.

Вы можете создать один тест SqlDependency для данных, которые вы хотите просмотреть, и использовать SQLTrace для захвата операторов, выполняемых компонентом Database Engine, для создания службы и очередей в SQL Server. Затем вы можете взять эти операторы и использовать их в качестве основы для настройки Сервиса в соответствии с вашими потребностями, настроив клиентов на использование одного и того же Сервиса вместо того, чтобы каждый запускал свой собственный через SqlDependency. Это вместе с ObservableCollection в WPF должно привести вас туда, где вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...