private void UpdateTiles() { var tileXML = TileService.CreateTile(WeatherForecast.GetForecast()); var updater = TileUpdateManager.CreateTileUpdaterForApplication(); TileNotification notification = new TileNotification(tileXML); updater.Update(notification); }
public async Task <WeatherForecast> Get(CancellationToken cancellationToken) { var timespan = TimeSpan.FromMilliseconds(250); var retryPolicy = Polly.Policy .Handle <Polly.Timeout.TimeoutRejectedException>() .RetryAsync(2, (exception, i, ctx) => { Console.WriteLine($"OnRetry: {i}"); Console.WriteLine($"message: {exception.Message}"); Console.WriteLine($"correlationId: {ctx.CorrelationId}"); Console.WriteLine($"operationKey: {ctx.OperationKey}"); Console.WriteLine($"policyKey: {ctx.PolicyKey}"); Console.WriteLine(ctx.Keys); Console.WriteLine(""); }); var timeoutPolicy = Polly.Policy.TimeoutAsync(timespan, TimeoutStrategy.Optimistic); // Create retries, each with the defined timeout var execPolicy = Polly.Policy.WrapAsync(retryPolicy, timeoutPolicy); // Create timeout for all retries // var execPolicy = Polly.Policy.WrapAsync(timeoutPolicy, retryPolicy); try { var res = await execPolicy.ExecuteAsync((ct) => WeatherForecast.GetForecast(1, ct), cancellationToken); return(res); } catch (Polly.Timeout.TimeoutRejectedException tex) { Console.Error.WriteLine("Timeout exception!!"); Console.Error.WriteLine(tex.Message); return(null); } catch (Exception ex) { Console.Error.WriteLine(ex.GetType()); return(null); } }