共用方式為


SqlClient 中可設定的重試邏輯

適用於:.NET Framework .NET .NET Standard

下載 ADO.NET

應用程式若要與在雲端中執行的元素通訊,必須能感應在此環境中發生的暫時性錯誤。 這些錯誤通常會自行修正。 如果在適當的延遲後再重複觸發錯誤的動作,動作可能會成功。

注意

從 Microsoft.Data.SqlClient 3.0.0 Preview 1 版開始將提供這項功能。

重試模式

儘管發生暫時性錯誤,仍嘗試完成作業,而不是擲回例外狀況,並讓使用者決定下一個動作。這就是稱為重試模式的智慧決策。 如需詳細資訊,請參閱重試模式

暫時性錯誤

您可以擁有健全的基礎結構,並使用以最新技術實作的已知應用程式,來減少服務停機時間。 不過,這並無法使失敗數完全變零。 暫時性錯誤是有時因已知原因而發生的錯誤,且會在短時間內消失。 例如,當伺服器端正在進行負載平衡變更時,可能會短暫地造成要求的服務失敗或逾時。如需詳細資訊,請參閱暫時性錯誤

建議事項和避免事項

即使使用重試模式可大幅改善應用程式的復原能力,但若用在錯誤的情況,可能會對應用程式造成負面影響。 將例外狀況新增至暫時性錯誤清單之前,請稍作暫停並詢問自己:「此錯誤是否很快就會自行解決」。 別著急。 如果對此問題沒有適當答案,請研究原因。 如需詳細資訊,請參閱針對 Azure SQL Database 和 Azure SQL 受控執行個體的連線問題和其他錯誤進行疑難排解

本節內容

SqlClient 中可設定的重試邏輯簡介
介紹可設定重試邏輯的不同部分。

SqlClient 中的內部重試邏輯提供者
示範如何使用預先定義的重試提供者來對資料庫套用重試邏輯。

SqlClient 中可設定的重試邏輯核心 API
示範如何使用核心 API 來實作自訂重試邏輯。

使用 SqlClient 的可設定重試邏輯組態檔
示範如何透過組態檔指定預設重試邏輯提供者。

另請參閱