Um aplicativo ASP.NET Core se conecta ao Azure Database for MySQL, mas as conexões falham intermitentemente e o código não lida com falhas transitórias. Quais três abordagens você pode usar no código para implementar o tratamento de novas tentativas para erros de conexão transitórios? (Cada resposta correta faz parte da solução.)
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Aguardar cinco segundos antes de repetir a tentativa de conexão com o banco de dados., Definir um número máximo de tentativas de conexão para 10 e relatar um erro nas conexões subsequentes., Aumentar as tentativas de repetição de conexão exponencialmente até 120 segundos..
Por que esta é a resposta
Para lidar com falhas transitórias, é crucial implementar uma lógica de repetição (retry logic). Aguardar um período de tempo, como cinco segundos, antes de tentar novamente, permite que o problema transitório se resolva. Definir um número máximo de tentativas, como 10, evita que o aplicativo fique preso em um loop infinito de repetição, garantindo que um erro seja reportado após falhas persistentes. Aumentar o tempo de espera exponencialmente (backoff exponencial) até um limite, como 120 segundos, é uma estratégia eficaz porque concede mais tempo para que problemas mais demorados sejam resolvidos, sem sobrecarregar o banco de dados com tentativas rápidas e repetidas. Fechar a conexão e relatar um erro imediatamente não implementa tratamento de novas tentativas. Desabilitar o pool de conexões e configurar uma segunda instância não aborda a lógica de repetição no código para erros transitórios na instância existente.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão