Rx 版本之间的差异

以下主题介绍可以使用反应式扩展开发解决方案的各种平台。

若要获取最新版本的 Rx 并了解其先决条件,请访问 Rx MSDN 开发人员中心

.NET Framework

核心 Rx 接口 IObservable<T> 和 IObserver<T> 作为.NET Framework 4 的一部分提供。 如果在 .NET Framework 3.5 SP1 上运行,或者想要利用可观测类型中实现的 LINQ 运算符以及许多其他功能(如计划程序),则可以在 Rx MSDN 开发人员中心下载 Rx 程序集。

Silverlight

Silverlight 禁止你进行跨线程调用,因此无法使用后台线程来更新 UI。 可以使用 Rx 程序集提供的工厂 Observable.Start 方法异步调用操作,而不是使用 Dispatcher.BeginInvoke 调用编写详细代码,以在main UI 线程上显式执行代码。 交叉线程由 Rx 透明地处理。

还可以使用采用计划程序的各种可观测运算符重载,并指定要使用的 DispatcherScheduler

Javascript

Rx for Javascript (RxJS) 允许在 JavaScript 中使用 LINQ 运算符。 它提供从现有 DOM、XmlHttpRequest (AJAX) 和 jQuery 事件到基于推送的可观察集合的易于使用的转换,使用户能够将 Rx 无缝集成到基于 JavaScript 的现有网站中。

RxJS 为客户端脚本带来了类似的功能,并与 jQuery 事件 (Rx.Observable.FromJQueryEvent) 集成。 它还支持 Script#。

Windows Phone

Windows Phone 7 随附了内置到设备的 ROM 中的反应扩展版本。 有关详细信息,请参阅适用于 Windows Phone 的 .NET 反应扩展概述。 有关此版本反应式扩展的文档,请参阅 Microsoft.Phone.Reactive Namespace Windows Phone API 库。

Rx MSDN 开发人员中心还包含 Rx for WP7 的更新版本,该版本在 System.Reactive.Linq 命名空间中具有新定义。 请注意,新 API 不会与手机 (内置库冲突,也不会替换 ROM) 中的版本。 有关这 2 个版本的差异的详细信息,请参阅 此 Rx 团队博客文章