Padrão de disjuntor Polly - Para testar cadeias de conexão
Estou tentando testar se a seqüência de conexão é nula usando Polly. Se for nulo, quero tentar três vezes usando o CircuitBreaker e a mensagem deve ser exibida na janela do console.
Policy policy = null;
// Break the circuit after the specified number of exceptions
// and keep circuit broken for the specified duration.
policy = Policy
.Handle<NullReferenceException>()
.CircuitBreaker(3, TimeSpan.FromSeconds(30));
try
{
string connected = policy.Execute(() => repository.GetConnectionString());
}
catch (Exception ex)
{
Console.WriteLine("{0}",ex.Message);
}
e o método GetConnectionString é:
public string GetConnectionString()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["Test1"].ConnectionString;
return conn.ConnectionString;
}
Para testar isso, no App.config alterei o nome da string de conexão.
No entanto, ele não parece lidar com a exceção NullReference.
Quando depuro o aplicativo - ele abre o CircuitBreakerEngine.cs não encontrado e imprime "Referência de objeto não definida como uma instância de um objeto" apenas.
Esperado: Para imprimir a referência de objeto não definida como uma instância de um objeto três vezes e a mensagem da exceção de circuito quebrado