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 Service Broker 队列从由连接字符串指定的 SQL Server 实例接收。

Stop(String)

停止在上一次 Start(String) 调用中指定的连接的侦听器。

Stop(String, String)

停止在上一次 Start(String, String) 调用中指定的连接的侦听器。

事件

OnChange

当收到与此 SqlDependency 对象关联的任意命令的通知时发生。

适用于