ReactiveExtensionsDemo.RequestWithRetryViewModel.GetData C# (CSharp) Method

GetData() public method

public GetData ( IScheduler observationScheduler ) : void
observationScheduler IScheduler
return void
        public void GetData(IScheduler observationScheduler)
        {
            GetObs()
                .Catch((WebException ex1) =>
                {
                    System.Threading.Thread.Sleep(2000);
                    return GetObs()
                        .Catch((WebException ex2) =>
                        {
                            System.Threading.Thread.Sleep(5000);
                            return GetObs();
                        });
                })
            .ObserveOn(observationScheduler)
            //to aid performance, try subscribing with a different scheduler
            .Subscribe(response =>
            {
                var xdoc = XDocument.Load(response.GetResponseStream());
                foreach (var e in xdoc.Root.Descendants())
                {
                    Names.Add(e.Value);
                }
            });
        }

Usage Example

 public RequestWithRetry()
 {
     InitializeComponent();
     var vm = new RequestWithRetryViewModel();
     this.DataContext = vm;
     vm.GetData(Scheduler.Dispatcher);//initialize and call out to get data
 }
All Usage Examples Of ReactiveExtensionsDemo.RequestWithRetryViewModel::GetData