1

Windowsストアアプリでリアクティブ拡張機能を使用しています(まあ、試して、学習しています)。最終的に RTM の承認 Web ページに移動する一連の非同期操作があります。私が行った読書を考えると、次のようなものを書くことを期待しています:

        var result = rtm
            .GetFrob()
            .Select(s => rtm.GetAuthenticationUrl(s))
            .ObserveOnDispatcher()
            .Do(uri => AuthWebView.Navigate(new Uri(uri)))
            .First();

ただし、ObserveOnDispatcher メソッドが見つからないようで、さらに Scheduler.Dispatcher プロパティも存在しないため、Windows ストア アプリケーションでは、メイン UI スレッドとそれを参照する方法により深い関係があると思います。

ところで、GetFrob は、Observable.FromAsync を使用して IObservable シーケンスを作成します (これが役立つ場合)。

ところで、その行を削除すると、ナビゲートの呼び出しが間違ったスレッドからの投稿として失敗します。それで、私が正しいスレッドに戻っていることを確認するためにここで行うべき適切なことは何ですか?

ところで、ここで「.Do」操作を失礼します。「いい」操作ではないことはわかっていますが、まだスローアウェイ コードを試しています。

よろしくお願いします!

4

1 に答える 1

4

ああ。どうやら私は検索が苦手なようです。:(

ナゲット パッケージ Rx-Xaml を追加すると、スケジューラなどの適切なアセンブリが含まれていることがわかります。詳細は、メインのRx ブログで確認できます。もちろん、私のアプリはハングするようになりましたが、それは私の何か他の愚かなことが原因である可能性があります。

于 2013-01-12T07:47:37.817 に答える