Поделиться через


SqlDependency Класс

Определение

Объект SqlDependency представляет зависимость уведомления о запросе между приложением и экземпляром SQL Server. Приложение может создавать объект SqlDependency и регистрироваться для получения уведомлений через обработчик событий OnChangeEventHandler.

public ref class SqlDependency sealed
public sealed class SqlDependency
type SqlDependency = class
Public NotInheritable Class SqlDependency
Наследование
SqlDependency

Комментарии

SqlDependency идеально подходит для сценариев кэширования, где ASP.NET приложению или службе среднего уровня необходимо хранить определенные сведения в кэше в памяти. SqlDependency позволяет получать уведомления при изменении исходных данных в базе данных, чтобы можно было обновить кэш.

Чтобы настроить зависимость, необходимо связать SqlDependency объект с одним или SqlCommand несколькими объектами. Чтобы получать уведомления, необходимо подписаться на OnChange событие. Дополнительные сведения о требованиях к созданию запросов для уведомлений см. в разделе Работа с уведомлениями запросов.

Примечание

SqlDependency был разработан для использования в службах ASP.NET или среднего уровня, где существует относительно небольшое количество серверов с активными зависимостями от базы данных. Он не предназначен для использования в клиентских приложениях, где на сотнях или тысячах клиентских компьютеров объекты SqlDependency будут настроены для одного сервера базы данных. Если вы разрабатываете приложение, для которого требуются надежные уведомления на секунду при изменении данных, ознакомьтесь с разделами Планирование стратегии эффективных уведомлений о запросах и Альтернативы уведомлениям о запросах в статье Планирование уведомлений .

Дополнительные сведения см. в разделах Уведомления о запросах в SQL Server и Создание решений для уведомлений.

Примечание

Событие OnChange может быть создано в потоке, отличном от потока, который инициировал выполнение команды.

Уведомления о запросах поддерживаются только для инструкций SELECT, которые соответствуют конкретным требованиям.

Конструкторы

SqlDependency()

Создает новый экземпляр класса SqlDependency, используя значения по умолчанию.

SqlDependency(SqlCommand)

Создает новый экземпляр класса SqlDependency и связывает его с параметром SqlCommand.

SqlDependency(SqlCommand, String, Int32)

Создает новый экземпляр класса SqlDependency и связывает его с параметром SqlCommand, а также задает параметры уведомления и таймаут.

Свойства

HasChanges

Возвращает значение, указывающее, изменился ли какой-либо из результирующих наборов, связанных с данной зависимостью.

Id

Возвращает значение, являющееся уникальным идентификатором данного экземпляра класса SqlDependency.

Методы

AddCommandDependency(SqlCommand)

Связывает объект SqlCommand с этим экземпляром SqlDependency.

Start(String)

Запускает прослушиватель для получения уведомлений об изменении зависимости от экземпляра SQL Server, заданного в строке подключения.

Start(String, String)

Запускает прослушиватель для получения уведомлений об изменении зависимости от экземпляра SQL Server, заданного в строке подключения, с использованием заданной очереди сервис-брокера SQL Server.

Stop(String)

Останавливает прослушиватель для подключения, заданного в предыдущем вызове Start(String).

Stop(String, String)

Останавливает прослушиватель для подключения, заданного в предыдущем вызове Start(String, String).

События

OnChange

Генерируется при получении уведомления для любой команды, связанной с данным объектом SqlDependency.

Применяется к