在Rx和C#中使SQL Server表可观察
我正在研究Rx.NET在流式传输SQL Server数据表方面的潜力.基本上我想在不插入轮询的情况下尽可能地插入数据.
我使用Rx / DataReader创建了一些POC,但是在插入新行时我无法订阅.当没有更多行要选择时,流停止(当然这是预期的). 约束: > SQL Server和数据库上没有配置更改 我想到了这些解决方案,但那些需要许可证或服务器更改: > StreamInsight 在.NET中有类似SQLBrite的东西吗? 解决方法
使用Service Broker所需的努力和痛苦是巨大的(消息类型,合同,队列等),如果您不是SQL Server的人甚至不考虑.
有一个开源实现似乎有所帮助.您可以查看:https://tabledependency.codeplex.com – 它可能超出您的预期来解决您的问题. 比你更容易使用/使用SqlDependency – https://msdn.microsoft.com/en-us/library/62xk7953(v=vs.110).aspx在几行代码中你可以观察表的变化(有一些限制),只需注意应用程序和数据库性能. 它们都没有提供IObservable< T>.盒子外面.但是,一旦你有一个DataChanged,OnDependencyChange事件或类似的东西.您可以使用Rx对其进行抽象,将.net事件转换为可观察对象 – (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |