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 中的 Query 通知和 Building Notification Solutions

注意

OnChange 事件可能在与启动命令执行的线程不同的线程上生成。

只有满足下列特定要求的 SELECT 语句才支持查询通知。

构造函数

名称 说明
SqlDependency()

使用默认设置创建类的新实例 SqlDependency

SqlDependency(SqlCommand, String, Int32)

创建类的新实例 SqlDependency ,将其与 SqlCommand 参数相关联,并指定通知选项和超时值。

SqlDependency(SqlCommand)

创建类的新实例 SqlDependency 并将其与 SqlCommand 参数相关联。

属性

名称 说明
HasChanges

获取一个值,该值指示与依赖项关联的结果集之一是否已更改。

Id

获取一个值,该值唯一标识该类的 SqlDependency 此实例。

方法

名称 说明
AddCommandDependency(SqlCommand)

将对象 SqlCommand 与此 SqlDependency 实例关联。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
Start(String, String)

启动侦听器,以使用指定的SQL Server Service Broker 队列从由连接字符串指定的SQL Server实例接收依赖项更改通知。

Start(String)

启动侦听器,从连接字符串指定的SQL Server实例接收依赖项更改通知。

Stop(String, String)

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

Stop(String)

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

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

活动

名称 说明
OnChange

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

适用于

另请参阅