WEB开发网
开发学院数据库MSSQL Server 剖析SQL Server 2005查询通知之基础篇 阅读

剖析SQL Server 2005查询通知之基础篇

 2006-11-18 09:16:01 来源:WEB开发网   
核心提示: 注意 当SQL Server中的数据发生改变时,查询通知允许你缓冲数据并且通知你,剖析SQL Server 2005查询通知之基础篇(2),在.NET一端,存在很多种“钩入”这种功能的方式,然后把一个通知发送回初始化该请求的应用程序,图1是SQL Server Ma

注意 当SQL Server中的数据发生改变时,查询通知允许你缓冲数据并且通知你。

在.NET一端,存在很多种“钩入”这种功能的方式。ADO.NET 2.0提供了System.Data.SqlClient.SqlDependency和System.Data.Sql.SqlNotificationRequest类。SqlDependency是SqlNotificationRequest的一种高级实现,并且是当使用ADO.NET 2.0时你最有可能使用的类。ASP.NET 2.0也通过System.Web.Caching.SqlCache-Dependency类(它提供了一个针对SqlDependency的包装器)与Service Broker进行通讯,而且这是直接通过在一个ASP.NET页面中使用<%OutputCache>指令以声明方式提供的功能实现的。这允许ASP.NET开发者容易地实现使依赖于SQL Server中的数据中的缓存无效。

二. .NET与Service Broker的通讯

上面这些技术是如何联合到一起来解决“缓冲之谜”的呢?尽管你可以采取很多的措施以允许SQL Server把服务提供给.NET;但是,关键还在于,发送到SQL Server的查询具有一个依附到它们的标志以便告诉SQL Server,除了返回结果集外,SQL Server还应该把该查询(及其请求者)注册到Service Broker。为此,你要创建一个感知该查询的队列和一个依附到该队列的服务,并且知道如何返回到客户端。如果该结果集中的任何一行在数据库中得到更新,那么在相关队列中的项将触发,并且反过来,把一条消息发送到它的服务,然后把一个通知发送回初始化该请求的应用程序。

图1是SQL Server Management Studio的一个快照,它显示了在数据库的Service Broker部分中的队列(Queues)和服务(Services)。

上一页  1 2 3 4 5 6  下一页

Tags:剖析 SQL Server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接