2014-02-25 1 views

답변

4

ObserveOnDispatcher()은 권장되지 않지만 명시 적 스케줄러를 제공하는 것이 일반적이므로 단위 테스트를 위해 TestScheduler을 삽입 할 수 있습니다.

DispatcherScheduler.Current은 현재 DispatcherScheduler이 아닌 .Instance을 얻을 수 있습니다. 실제로는 하나 이상의 문자가있을 수 있으므로 의미가 있습니다. 대부분의 사람들이 특정 도로를 따라 가야 할 필요는 없습니다.

ObserveOnDispatcher()DispatcherScheduler은 Windows Phone 8 Rx 빌드에 있습니다. xhaml 플랫폼 특정 요소가 포함 된 rx-xaml nuget 패키지에 있습니다. rx-main을 방금 포함시킨 경우이를 놓친 것입니다.

특히, 이들은 System.Reactive.Windows.Threading.dll 어셈블리에 있습니다. ObserveOnDispatcher()System.Reactive.Linq.DispatcherObservable 유형이며 어셈블리에는 System.Reactive.Concurrency.DispatcherScheduler도 있습니다.

+2

'rx-xaml' : 그게 내가 놓친 것입니다! –

2

나는 일반적으로 쓰기 :

.ObserveOn(DispatcherScheduler.Instance) 

내가 ReactiveUI을 사용하지 않는 경우. 그렇지 않으면 모든 걸거야 - 내가하면 그렇게 단위 테스트는 통과, 단위 테스트 러너에, RxApp.MainThreadScheduler는 자동적으로 CurrentThread을로 조작되고 있다는 것을

.ObserveOn(RxApp.MainThreadScheduler) 

차이를합니다.

+0

'DispatcherScheduler'는 어떤 네임 스페이스와 어셈블리에서 사용 되나요? 내가 찾은 것 ('Microsoft.Phone.Reactive.DispatcherScheduler')은 C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ WindowsPhone \ v8.0 \ Microsoft.Phone.Reactive.dll에있다. NuGet 패키지가 아닙니다. –

관련 문제