MSSQL 2005 (Yukon) – работа с очередями и асинхронная обработка данных
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат биография, скачать на телефон шпаргалки
| Добавил(а) на сайт: Kozin.
Предыдущая страница реферата | 11 12 13 14 15 16 17 18 19 20 21 | Следующая страница реферата
СОВЕТ Список подписчиков, ожидающих извещения, можно просмотреть с помощью специального системного представления sys.dm_qn_subscriptions. |
SqlNotificationRequest
Механизм извещений этого класса работает по такому же принципу, что и SqlDependency, но на чуть более низком уровне, со всеми вытекающими из этого последствиями. То есть за несколько большую гибкость необходимо расплатиться чуть большей работой при реализации. Однако основное ограничение по-прежнему присутствует, так как серверный механизм определения изменений и помещения сообщения в очередь все тот же. Главное отличие от SqlDependency состоит в том, что в данном случае работа сервера ограничивается помещением сообщения в очередь, а уж о том, чтобы забрать сообщение из этой очереди клиент должен позаботиться сам. Соответственно, никакие серверные .Net-процедуры не используются, а значит можно обойтись и без разрешения выполнения .Net-процедур. Также нет необходимости обеспечивать доступность клиента с сервера, но расплачиваться за это приходится постоянным соединением клиента с сервером, что при большом числе клиентов может быть достаточно накладным.
В качестве сервиса ServiseBroker-а, используемого для доставки сообщения, можно использовать как стандартный сервис, предназначенный для извещения об изменениях в результатах запроса: [http://schemas.microsoft.com/SQL/Notifications/QueryNotificationService], так и создать свой собственный:
-- Сначала создаем очередь -- CREATE QUEUE NotifyTestQueue GO -- Затем на базе этой очереди создаем сервис -- Используется тот же самый контракт, специально -- предназначенный для извещений об изменениях в результатах запроса. CREATE SERVICE NotifyTestService ON QUEUE NotifyTestQueue ([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]) GO |
Сам же код клиента, который делает примерно то же самое, что и предыдущий пример, используя очередь и сервис, созданные выше, может выглядеть следующим образом:
using System; using System.Data; using System.Data.Sql; using System.Data.SqlClient; namespace Rsdn.AsyncTest { public class NotificationTest { private string _connectionString = Рекомендуем скачать другие рефераты по теме: рефераты на казахском языке, реферат на тему время. Категории:Предыдущая страница реферата | 11 12 13 14 15 16 17 18 19 20 21 | Следующая страница реферата Поделитесь этой записью или добавьте в закладки |