1

我在 Windows 商店应用程序中使用响应式扩展(嗯,尝试,学习)。我有一系列异步操作,最终将导航到 RTM 的授权网页。鉴于我已经完成的阅读,我希望写如下内容:

        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 序列(如果有帮助的话)。

顺便说一句,如果我删除该行,我在调用 Navigate 时会失败,因为它是从错误的线程发布的。那么,在这里做些什么来确保我回到正确的线程上是正确的?

顺便说一句,请原谅这里的“.Do”操作,我知道它不是“好”,但是,我仍在尝试丢弃代码。

提前谢谢了!

4

1 回答 1

4

啊。显然我只是不擅长搜索。:(

事实证明,添加 nuget 包 Rx-Xaml 包括调度程序的正确程序集等。详细信息可以在主Rx 博客上找到。当然,我的应用程序现在又重新挂起,但这可能是由于我的其他愚蠢行为。

于 2013-01-12T07:47:37.817 回答