剖析SQL Server 2005查询通知之基础篇
发布时间:2006-08-28 12:23:17 来源:计算机与信息技术 网友评论 0 条USE mydatabase
ALTER DATABASE mydb SET ENABLE_BROKER
另外,你需要授予一些SQL Server权限以允许非管理员帐户能够参与使用查询通知。
五. SqlDependency.Start和Stop
SqlDependency和SqlCacheDependency都要求,在任何通知请求前先调用静态方法SqlDependency.Start()。这个方法负责创建一个SqlConnection以实现在数据改变时接收通知。注意,你仅需要在一个应用程序的生命周期的开始建立这些内容。例如,在一个ASP.NET应用程序中,global.asax文件的Application_Start事件处理器就是实现这一功能的好地方。
注意,对包含在通知中的每一个连接都应该调用Start方法。因此,如果你在应用程序中存取多个数据库,那么你需要为每一个数据库调用Start。在下列示例中,有一个针对Pubs数据库的连接串pubsConn,它在这个应用程序的web.config文件中定义。
为了切断这个连接,你可以使用SqlDependency.Stop(),这也是一个静态方法。
Sub Application_Start(ByVal sender as Object, _
ByVal e as EventArgs)
System.Data.SqlClient.SqlDependency.Start _
(System.Configuration.ConfigurationManager. _
Connectionstrings("pubsConn").ConnectionString)
End Sub
Sub Application_End(ByVal sender as Object,
ByVal e as EventArgs)
System.Data.SqlClient.SqlDependency.Stop _
(System.Configuration.ConfigurationManager. _
Connectionstrings("pubsConn").ConnectionString)
End Sub
如果你在调用Start和Stop的同时观察SQL Server Profiler,那么你会看到许多有趣的信息。当调用Start时,应用程序运行一个查询以确保支持Service Broker,然后创建一个存储过程备以后用于清除在Service Broker基础结构中的SqlDependency队列和服务。最后,它运行一个SQL Server 2005 WaitFor命令,该命令负责查询在Notification Service部分的入口。这就是如果你使用ADO.NET的低级SqlNotificationRequest对象的话所有你需要显式完成的事情。
在整个的.NET 2.0的设计过程中,SqlDependency底层架构从一种推模式(来自SQL Server)改变为一种拉模式(来自.NET)。这样做的原因是为了解决第一次设计时所导致的一些安全问题。微软的Sushil Chordia在MSDN上发表了一篇有关于这种改进的文章,该文详细描述了这一改进的内在机理。
- 推荐阅讯
- 拷贝的SQLServer7数据库的恢复方法
- SQL Server 2005中的异常处理消息框可以直接
- SQL Server连接失败错误分析与排除
- SQL Server2005的XML数据类型之基础篇
- SQL Server2005代码安全之权限
- 如何紧急恢复SQL Server主数据库
- SQL Server中六种数据移动的方法
- 利用同义词简化SQL Server 2005开发
- SQL Server 2005 - 如何在预存程序中调用另
- 用SQL 2005的ROW_NUMBER() 实现分页功能
- 阅读排行
- 1.SQL Server 2000安装不成功的解决办法
- 2.SQL Server数据导入导出工具BCP详解
- 3.如何紧急恢复SQL Server主数据库
- 4.用SQL 2005的ROW_NUMBER() 实现分页功能
- 5.SQL Server2005的XML数据类型之基础篇
- 6.SQL SERVER 2005中的同步复制技术
- 7.SQL Server 2005-如何在SQL Server用户自订
- 8.拷贝的SQLServer7数据库的恢复方法
- 9.SQL Server 2000遇到的两个问题及其解决办法
- 10.SQL Server 2005数据加密技术应用研究
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
