Partilhar via


Lógica de retentativa configurável no SqlClient

Aplica-se a: .NET Framework .NET .NET Standard

Baixar ADO.NET

Uma aplicação que comunica com elementos a correr na cloud tem de ser sensível às falhas transitórias que podem ocorrer neste ambiente. Estas falhas são normalmente auto-corretivas. Se a ação que desencadeou uma falha for repetida após um atraso adequado, é provável que seja bem-sucedida.

Observação

Esta funcionalidade está disponível a partir do Microsoft.Data.SqlClient versão 3.0.0 preview 1.

Padrão de retentativa

Tentar completar uma operação apesar de erros transitórios, em vez de lançar uma exceção e deixar o utilizador decidir a próxima ação, é uma decisão inteligente chamada padrão de nova tentativa. Para obter mais informações, consulte Padrão de Retentativa.

Falhas transitórias

Pode ter uma infraestrutura robusta e utilizar aplicações bem conhecidas implementadas com as mais recentes tecnologias para reduzir o tempo de inatividade do serviço. No entanto, é impossível reduzir as falhas a zero. Erros transitórios são aquelas falhas que por vezes ocorrem por razões conhecidas e desaparecem após pouco tempo. Por exemplo, quando uma alteração de balanceamento de carga está em curso do lado do servidor, pode causar brevemente a falha ou a expiração dos serviços solicitados. Para mais informações, veja Falhas transitorias.

Faça e não faça

Embora usar um padrão de retentativa melhore significativamente a resiliência de uma aplicação, pode ter um impacto negativo na aplicação se for usado nas circunstâncias erradas. Antes de adicionar uma exceção à lista de falhas transitórias, faça uma pausa e pergunte-se: "Será que se vai resolver sozinho em breve?". Não tenhas pressa. Estuda as razões se não tiveres uma boa resposta para a questão. Para mais informações, consulte Resolução de problemas de conectividade e outros erros com Azure SQL Database e Azure SQL Managed Instance.

Nesta secção

Introdução à lógica de retentativa configurável no SqlClient
Introduz diferentes secções da lógica de retentativas configuráveis.

Provedores lógicos de repetição interna no SqlClient
Demonstra como usar provedores de repetição pré-definidos para aplicar a lógica de repetição à base de dados.

APIs de núcleo lógico de repetição configurável em SqlClient
Demonstra como usar APIs principais para implementar uma lógica de retentativas personalizada.

Arquivo de configuração lógica de repetição configurável com SqlClient
Demonstra como especificar fornecedores de lógica de repetição predefinida através de um ficheiro de configuração.

Consulte também