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

在Rx和C#中使SQL Server表可观察

发布时间:2020-12-15 22:41:07 所属栏目:百科 来源:网络整理
导读:我正在研究Rx.NET在流式传输SQL Server数据表方面的潜力.基本上我想在不插入轮询的情况下尽可能地插入数据. 我使用Rx / DataReader创建了一些POC,但是在插入新行时我无法订阅.当没有更多行要选择时,流停止(当然这是预期的). 约束: SQL Server和数据库上没有
我正在研究Rx.NET在流式传输SQL Server数据表方面的潜力.基本上我想在不插入轮询的情况下尽可能地插入数据.

我使用Rx / DataReader创建了一些POC,但是在插入新行时我无法订阅.当没有更多行要选择时,流停止(当然这是预期的).

约束:

> SQL Server和数据库上没有配置更改
>可能没有民意调查

我想到了这些解决方案,但那些需要许可证或服务器更改:

> StreamInsight
> SQLDependency
>触发器

在.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事件转换为可观察对象 –
https://msdn.microsoft.com/en-us/library/hh229241(v=vs.103).aspx

(编辑:李大同)

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

    推荐文章
      热点阅读