static void Main(string[] args) { var pmp = new PoliticasManipulacaoPolly(); // pmp.Verificar_Funcionamento_Circuit_Break(); //RetryPolicy WaitRetry = PoliticasManipulacaoPolly.getPolicyRetry(); //produtos = WaitRetry.Execute(() => RepositorioProdutos.GetProdutos(), new Context("Teste")); //Console.WriteLine(""); //foreach (var p in produtos) //{ // Console.WriteLine("Id {0} - Nome{1} - Descrição{2}", p.ProdutoId, p.Nome, p.Decricao); //} //RetryPolicy WaitAndRetryAlterNumaro = PoliticasManipulacaoPolly.getPolicyWaitAndRetryAlterNumaro(); //int result = WaitAndRetryAlterNumaro.Execute(() => Divisao(n1, n2)); //Console.WriteLine(result.ToString()); //Console.WriteLine(""); //n2 = 0; // RetryPolicy WaitAndRetryCallMethod = PoliticasManipulacaoPolly.getPolicyWaitAndRetryCallMethod(); //var result = WaitAndRetryCallMethod.Execute(() => Divisao(n1, n2)); // Console.WriteLine(result.ToString()); n2 = 0; //Int32 result = pmp.Execute(() => Divisao(n1, n2)); //Console.WriteLine(result.ToString()); //Console.WriteLine(""); // var result = pmp.Execute(() => Divisao(n1, n2), () => CallTask()); //Task result = pmp.ExecuteCircuitBreaker(() => CallTask()); //Task result = pmp.ExecuteFallback(() => CallTask(), () => CallTask2()); Task result = pmp.ExecuteFallbackWrap(() => CallTask(), () => CallTask2()); //Console.WriteLine(result.ToString()); Console.ReadKey(); }
internal static void AtualizarNumero(Exception e, int n) { n2 = n; PoliticasManipulacaoPolly.Log(e); }