Windows Store应用程序是否有ObserveOnDispatcher?

时间:2013-01-12 06:57:00

标签: asynchronous system.reactive windows-store-apps

我在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,btw,使用Observable.FromAsync创建一个IObservable序列(如果这有助于此)。

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

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

非常感谢提前!

1 个答案:

答案 0 :(得分:4)

哎呀。显然我只是在搜索时不够好。 :(

事实证明,添加nuget包Rx-Xaml包括调度程序的正确程序集等。详细信息可以在主Rx blog上找到。当然,我的应用程序现在又回到了悬挂状态,但这可能是由于我自己的一些愚蠢行为。