我正在使用實體框架和SQL Server進行一些錯誤恢復。我希望我的應用程序在與數據庫的連接恢復後在後臺重新加載信息。實體框架:恢復的連接仍然會產生11001錯誤
我的測試場景:
- 把我的機器在飛行模式
- 啓動應用程序;預期的錯誤:(provider:TCP提供,錯誤:0 - 沒有這樣的宿主是已知的。)
- 應用將重試通過使用實體框架
- 關閉飛行模式
- 執行查詢每5秒連接後10 +嘗試; (提供商:TCP提供商,錯誤:0 - 沒有這樣的主機是已知的。)
這說服我相信執行查詢不會試圖打開一個新的傳輸級別連接後,連接已經恢復。
有什麼辦法可以告訴實體框架(或ADO.NET)嘗試重新打開連接嗎?
更新:由於我使用實體框架6,我可以使用SqlAzureExecutionStrategy而不是手動編碼或企業庫重試策略。
我想創建一個新的'DBContext'實例會重新創建連接。 – Mansfield