gpt4 book ai didi

system.reactive - SignalR 与响应式(Reactive)扩展

转载 作者:行者123 更新时间:2023-12-03 06:59:49 26 4
gpt4 key购买 nike

SignalR 与响应式扩展是同一回事吗?你能解释一下为什么或为什么不吗?

最佳答案

不,它们绝对不是同一件事。

Reactive Extensions 是一个用于创建和组合可观察的数据流或事件流的库(实际上非​​常相似)。它基本上对客户端-服务器连接或其他事情一无所知。它仅专注于 Observable,并且能够将任何集合、流、事件、异步方法等包装到通用的 Observable 接口(interface)中。

SignalR 是一个用于在客户端和服务器之间创建持久(即事件)双工连接的工具包。它通过 HTTP 工作,其目的是将 3 种低级技术:长轮询、服务器端事件和 Web 套接字包装到高级 API 中,以方便开发。因此,它的重点是沟通。

因此,组件本身彼此相当独立,并且它们具有完全不同的关注点。

另一方面,这两个优秀的库是互补的:可以使用 SignalR 将事件从服务器推送到客户端,然后将服务器端事件包装到 RX 的 Observable 中以创建复杂的响应式(Reactive)用户体验。

更新

Rx is like LINQ, it helps you specify 'what happens', it doesn't get into the details of 'how'. SignalR is a library to implement the 'how' for real-time network communication – Paul Betts

“LINQ to Objects”和 RX 之间的区别在于,在“LINQ to Objects”中,您从可枚举的事物中提取下一个项目,而在 RX 中,它们是从可观察的事物中推送给您的。

关于system.reactive - SignalR 与响应式(Reactive)扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421695/

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