我在SQL Server中有一个表,几乎每秒都会从另一个软件(股票价格)中保持更新。
我需要使用一个显示SQL Server视图的网格创建一个WPF应用程序。 (视图只是一个复杂的查询,在库存表和其他一些表上有内连接)。
但是由于View不断更新,我实际上每秒都不能SqlDataAdapter.Fill(ds)
。
到目前为止;我听说过以下技术..
哪一种是实现这一目标的正确方法?
由于
答案 0 :(得分:0)
以下是我们的工作:
使用触发器,编写受影响的 实体ID到推送通知 队列表
使用SQL服务代理,将通知从队列表发送到所有终端客户端连接的通知服务器
将批量受影响的实体的推送通知事件从通知服务器分发到所有连接的客户端
客户端重新查询受影响实体的视图并相应地更新UI(删除任何已删除的,更新任何已更改的内容,插入任何新内容)
效果很好。
答案 1 :(得分:0)
StreamInsight是一个很好的开始,但你正在以错误的方式看待它。 构建StreamInsight输入适配器以读取库存源。你可以做的不仅仅是阅读它们。你也可以在飞行中对它们进行分析和其他处理。从那里,您将有一个输出适配器转到SQL Server和一个输出适配器发布WCF双工服务或多播服务(某种网络推送发布服务)并让您的客户端订阅它。如果您不需要存储引号,则根本不需要使用Sql Server。 一个谨慎的工作 - 根据您进入的数据量,您可能会压倒您的Sql Server和/或您的客户端。 StreamInsight可以处理比其中任何一个都多的FAR数据 - 它全部在内存中(没有磁盘)。