SQL Server 2008 事件驱动体系结构
本文关键字:体系结构 事件驱动 2008 Server SQL | 更新日期: 2023-09-27 18:32:40
我正在创建一个基于消息的体系结构,该体系结构当前使用轮询客户端来检索消息。 出于显而易见的原因,我想将我的客户端注册到 SQL Server 2008,以便在将消息插入表中时接收事件。
我一直在网络上研究SQL Server Message Broker,CLR Stored Procedure和StreamInsight,但我似乎找不到我正在寻找的东西:SQL Server提醒我的服务已收到消息的方法。 基本上是一个事件驱动的模型,而不是轮询模型。
这存在吗? 关于从哪里开始的任何想法? 有没有例子?
是的,这确实存在。 我已经成功地使用了SQL Service Broker。 我不熟悉您列出的其他选项。
设置 SSB 很痛苦,因为有很多活动部件和细节,但它工作得很好。 帮助您避免轮询的主要部分是从 C# 创建和调用的存储过程。 在这个简短的过程中是一个 RECEIVE WAITFOR 语句,该语句会阻止您的打开和事务处理连接,直到您的队列中有消息可用或您的超时命中。 在 C# 中,无论获得结果还是超时,都会立即再次运行该过程以等待下一项。
您需要限制与SQL的打开连接数...如果可能,请改为 1。 如果有多个相关方,请通过该连接推送其所有内容,并通过其他方式将其分发给 C# 服务器。