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
Eseguire operazioni sui blob con Azure Storage Actions
Usare una container image come runner di GitHub Actions
Usare lo spread operator con i collection initializer in C#
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Semplificare il deployment di siti statici con Azure Static Web App
Utilizzare la session affinity con Azure Container Apps
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Verificare la provenienza di un commit tramite le GitHub Actions
Eseguire attività basate su eventi con Azure Container Jobs
I più letti di oggi
- Riordinare le righe di una GridView di ASP.NET con jQuery
- Creazione di un alarm con suono personalizzato con Windows Phone 7.1
- Utilizzare la session affinity con Azure Container Apps
- Blue-green deployment con Azure Web App e DevOps
- Ed infine anche il calendario :)
- Configurare la diagnostica di Azure attraverso Visual Studio
- Recuperare la data di creazione di un tag tramite una pipeline YAML di Azure DevOps
- Microsoft Security Bulletin MS05-002
- .NET Core e dispositivi IoT
- Eseguire attività pianificate con Azure Container Jobs