gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:36:46 24 4
gpt4 key购买 nike

我正在研究 Rx.NET 流式传输 sql server 数据表的潜力。基本上,我希望在不诉诸轮询的情况下尽可能靠近插入数据。

我使用 Rx/DataReader 制作了一些 POC,但是当插入新行时我无法订阅。当没有更多行可供选择时,流停止(当然这是预料之中的)。

约束:

  • SQL Server 和数据库的配置没有变化
  • 可能没有投票

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

  • 流洞察
  • SQL依赖
  • 触发器

有没有类似SQLBrite的东西在 .NET 中?

最佳答案

使用 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 事件转换为 observables - https://msdn.microsoft.com/en-us/library/hh229241(v=vs.103).aspx

关于c# - 使 SQL Server 表在 Rx 和 C# 中可观察,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41541395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com