Quando si lavora con SQL Azure esiste la possibilità che un errore di rete faccia fallire le query e le scritture sul database. Possiamo limitare questo problema utilizzando la configurazione da codice di Entity Framework e impostando le strategie che in automatico riprovano se una connessione fallisce per problemi di rete così come mostrato nel seguente codice.
public class PeopleConfiguration : DbConfiguration
{
public PeopleConfiguration()
{
SetExecutionStrategy(SqlProviderServices.ProviderInvariantName,
() => new SqlAzureExecutionStrategy());
SetTransactionHandler(SqlProviderServices.ProviderInvariantName,
() => new CommitFailureHandler());
}
}Il metodo SetExecutionStrategy imposta la strategia di retry per SQL Azure grazie alla classe SqlAzureExecutionStrategy. Il metodo SetTransactionHandler imposta la strategia di gestione della connessione. Se si usa la classe CommitFailureHandler questa crea una tabella nel database e crea una riga per ogni transazione. Se la transazione fallisce, sarà cura di Entity Framework cercare di portarla a buon fine in maniera trasparente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Stop Building Chatbots. Build a team
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Cache temporanea in Javascript con oggetti
Gestione delle issue type con GitHub
Introduzione a GitHub Copilot CLI
Abilitare il rolling update su Azure Functions flex consumption
Leggere i parametri da riga di comando in una file based app .NET
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Ridimensionamento automatico input tramite CSS
Operazioni tra insiemi di array in Javascript
Breaking the Legacy Barrier: how to Use AI to Modernize Applications
Nuova modale riconnessione Blazor


