加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – sql依赖如何用于来回传递数据

发布时间:2020-12-15 04:12:20 所属栏目:百科 来源:网络整理
导读:1)我想知道sql server如何在客户端和服务器之间建立一个通道. D b.我想必须有一个频道,为什么sql server可以通过该频道向客户端发送通知.请详细讨论这个问题.因为我看到很多关于sql依赖的文章,但每个机构都给出了代码,但没有机构解释它是如何工作的细节. 什
1)我想知道sql server如何在客户端和服务器之间建立一个通道. D b.我想必须有一个频道,为什么sql server可以通过该频道向客户端发送通知.请详细讨论这个问题.因为我看到很多关于sql依赖的文章,但每个机构都给出了代码,但没有机构解释它是如何工作的细节.
什么是服务经纪人?

Service Broker体系结构允许您构建松散耦合的SQL Server实例,以便实例使用正常的消息传递方式相互通信. Service Broker使用TCP / IP从网络传输消息,因此允许加密消息传递.它既适用于使用SQL Server实例的应用程序,也适用于将工作分配到多个SQL Server实例的应用程序. Service Broker允许使用Queue来保存消息,因此消息将被逐个处理,而调用者无需等待接收消息.

1)我想知道服务代理总是以加密格式传递消息?

2)Service Broker允许使用Queue来保存消息.服务代理使用的队列名称是什么.我如何才能看到该队列中存储的内容?

3)我看到很多人创建队列,但没有提到他们创建的原因?他们也没有在代码中使用该队列.这是一个网址和示例代码

http://www.dreamincode.net/forums/topic/156991-using-sqldependency-to-monitor-sql-database-changes/

CREATE QUEUE NameChangeQueue;
CREATE SERVICE NameChangeService ON QUEUE NameChangeQueue ([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]);

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO YourUserName;

ALTER DATABASE YourDatabaseName SET ENABLE_BROKER;

他们从不使用NameChangeQueue队列为什么?我怎么知道谁将使用这个队列?

4)即使我看到人们创造角色但却不知道为什么在这种情况下需要角色?

所以请详细讨论我的所有要点,因为我需要了解所有要点.谢谢

解决方法

首先阅读 The Mysterious Notification以了解查询通知的工作原理. SqlDependency只是一个利用查询通知的.Net包装器.这应该回答你的大部分问题.

查询通知使用Service Broker(SSB)将通知本地传递到数据库中的队列.虽然SSB可以加密流量,但这与SqlDependency无关,因为在服务器进程内交付是本地的.客户端应用程序通过使用普通SqlConnection在队列上发布WAITFOR(RECEIVE)来获取通知.

在您发布的示例中,确实从未使用过NameChangeQueue.通过使用SqlDependency对象,作者实际上在调用SqlDependency.Start()时正在使用临时部署的临时队列.作者可以使用Using SqlNotificationRequest to Subscribe to Query Notifications中描述的较低级别的SqlNotificationRequest,它允许您指定要使用的队列.

所需的权限在Query Notification Permissions中描述,但如果使用SqlDependency,则还需要权限来创建SqlDependency使用的临时队列和存储过程.

阅读链接的文章,如果您有更多问题,请在此处提出新问题(请不要发表更多问题作为评论).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读