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);
}
});
}
public RequestWithRetry() { InitializeComponent(); var vm = new RequestWithRetryViewModel(); this.DataContext = vm; vm.GetData(Scheduler.Dispatcher);//initialize and call out to get data }