1
저는 WinFrom App을 가지고 있습니다. 동기 메서드를 사용하여 URL에서 문자열을 다운로드하고 Rx ToAsync Method를 사용하여 비동기로 만들고 관찰 가능한 결과를 얻습니다. 그 결과가 폼에 표시됩니다.Observable.Context를 사용할 수없는 경우 어떻게 UI를 업데이트 할 수 있습니까?
어제 저는 Rx를 최신 릴리스로 업데이트했으며 "Observable에는 컨텍스트 정의가 없습니다"라는 메시지가 나왔습니다. 나는이 줄을 주석 처리하려고 시도했다. 코드는 "크로스 - 스레드 연산이 유효하지 않다 : 컨트롤 'tbx_Reference'가 스레드가 아닌 스레드에서 액세스되었다는 예외를 던졌다."
구독 방법을 사용하여 비동기 결과를 표시하려고합니다. 이 문제를 어떻게 해결할 수 있습니까? 매우 감사합니다.
public static IObservable<TResult> DoWorkAsync(TParameter parameter,
Func<TParameter,TResult> actionSync)
{
Observable.Context = SynchronizationContext.Current;
Func<TParameter, IObservable<TResult>> ActionAsync = actionSync.ToAsync();
IObservable<TResult> results = from result in ActionAsync(parameter)
select result;
return results;
}
그것은 내가 results.ObserveOnDispatcher을 사용 후() 작동합니다. 대단히 감사합니다! –
도와 주셔서 매우 기쁩니다! –