【发布时间】:2012-04-22 12:42:53
【问题描述】:
我在 SQL Server 2008 中有一个 SQL-CLR 触发器,它向套接字服务器发送消息。它工作正常,但我需要 TCP 客户端与它通信的服务器保持连接。
为了做到这一点,我必须制作一些保持活力的线程。所以我创建了一个线程,将消息添加到队列中,我看到客户端正在连接,但 SQL Server 在客户端能够处理排队的消息并将其发送到 tcp 服务器之前就退出了。
此应用程序的目的是发送通过 xml 更新的与它们相关联的字段和一些值。我想将它们放入线程中处理并发送到 TCP Socket 服务器的队列中。
我现在计划的替代方案是让 CLR 触发器将消息添加到 MSMQ,并让另一个服务来处理这些消息。
有什么好的建议可以做到这一点吗?
【问题讨论】:
-
您能否更具体地说明您与哪种类型的服务器通信?您将发送多少数据,用于什么目的和什么协议? (记录信息?消息队列?游戏服务器通信?)
-
我更新了我的问题以获取此详细信息。我想以某种 xml 格式为手头的表发送修改后的列/值关联。所以我的目标是将这些数据存储在队列中并一次处理一个。套接字客户端希望只有一个与服务器的连接,因为该表上有很多更改。
-
您考虑过使用 Service Broker 吗?
-
我只使用没有此功能的 SQL Server Express
-
您为什么尝试使用触发器而不是将其构建到您的主应用程序中?
标签: c# .net sql-server-2008 sqlclr