Rx 版本之間的差異
下列主題說明您可以使用回應式延伸模組開發解決方案的各種平臺。
若要取得最新版的 Rx,以及瞭解其必要條件,請造訪 Rx MSDN 開發人員中心。
.NET Framework
核心 Rx 介面 IObservable < T > 和 IObserver < T > 隨附于 .NET Framework 4。 如果您在 .NET Framework 3.5 SP1 上執行,或想要利用以 Observable類型實作的 LINQ 運算子,以及排程器等許多其他功能,您可以在Rx MSDN 開發人員中心下載 Rx元件。
Silverlight
Silverlight 不允許您進行跨執行緒呼叫,因此您無法使用背景執行緒來更新 UI。 您可以使用 Rx 元件所提供的 Factory Observable.Start 方法,以非同步方式叫用動作,而不是使用 Dispatcher.BeginInvoke 呼叫來明確執行主要 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 中模擬的回應式延伸模組版本。 如需詳細資訊,請參閱適用于 .NET 的回應式延伸模組概觀,以取得Windows Phone。 您可以在Microsoft.Phone.Reactive 命名空間的 Windows Phone API 程式庫中找到此版本的反應式延伸模組檔。
Rx MSDN 開發人員中心也包含 Rx for WP7 的更新版本,其具有 System.Reactive.Linq 命名空間中的新定義。 請注意,新的 API 不會與手機內建的程式庫發生衝突, (也不會取代 ROM) 中的版本。 如需這 2 個版本差異的詳細資訊,請參閱 此 Rx 小組部落格文章。