나는 Rx를 사용하는 방법을 고민하고있다. 대부분의 예제는 오래되었거나 Begin/End를 참조하거나 길고 복잡합니다.Rx를 사용하여 단순히 asyc WCF 서비스 메서드를 호출하는 방법
나는 간단한 WCF 서비스 메서드를 사용하여 int를 취해 JobMaster 개체를 반환합니다.
public static void GetJob(int jobId)
{
KernServiceClient.GetJobCompleted += GetJobCompleted;
KernServiceClient.GetJobAsync(jobId);
}
private static void GetJobCompleted(object sender, GetJobCompletedEventArgs e)
{
// JobMaster available in e.Result
}
가 어떻게이 수신을 사용하도록 변경합니까 : 여기
내가 순간에 호출하는 방법입니다? 바울의 도움에
편집
덕분에 내가 거기 대부분의 방법을 가지고있다. 이것은 지금처럼 생겼습니다. 구독 문제는 발생하지 않습니다. 어떤 아이디어?
public static JobMaster GetJob(int jobId)
{
JobMaster retval = null;
IKernService kernServiceInterface = KernServiceClient;
var getJobFunc = Observable.FromAsyncPattern<int, Server.KernMobileWcfService.JobMaster>(
kernServiceInterface.BeginGetJob, kernServiceInterface.EndGetJob);
var result = getJobFunc(jobId);
result
.Subscribe
(
onNext: x => retval = ConvertJobMaster(x),
onError: ex => ShowError(ex.Message)
);
return retval;
}
올바른 방향으로 나를 지적 해 주셨습니다. 그곳의 대부분. 구독 실패 (업데이트 참조). 어떤 아이디어? –
그건 효과가 있었을 것입니다. 첫 번째 예외를 사용하도록 설정 하시겠습니까? –