0
我試圖在Azure中實現數據庫相關瞬態錯誤的重試策略,但不明白如何在此特定上下文中捕獲RetryLimitExceeded類型的錯誤。如何在執行重試策略時捕獲RetryLimitExceeded
詳細說明 - 關於msdn的文章介紹了將此設置爲實體框架DbConfiguration的過程,該過程非常簡單。但是,它還指定我們應該處理RetryLimitExceeded異常,如果錯誤不是瞬態的,或者嘗試的次數超出限制,則可能會拋出異常。
https://msdn.microsoft.com/en-us/data/dn456835.aspx
我不明白,我應該怎麼捕捉異常 - 我應該換行SetExecutionStrategy在嘗試捕捉還是我預計全球範圍內處理的那種錯誤的?或者是其他東西?
public class IntranetDBConfiguration : DbConfiguration
{
public IntranetDBConfiguration()
{
SetExecutionStrategy("System.Data.SqlClient",() => new SqlAzureExecutionStrategy()); //default is 5 retries up to 30 seconds.
}
}
感謝您的回答,這對寫入數據庫是有意義的,但是在從數據庫讀取時也不會出現瞬時錯誤?如果是這樣 - 這是一個稍微不同的問題 - 如何處理這個問題,而不用用try/catch包裝每一個數據庫查詢? – David