在Windows Azure中,我們使用瞬態故障處理應用程序塊重試邏輯,該工作按照我們的工作角色預期工作。 但是,我們最近將SQL Azure數據庫升級爲聯邦數據庫,並從那時起經歷了一些問題。瞬態故障處理應用程序塊是否處理當前連接到聯合數據庫的連接?
我們的工作者角色偶爾會說特定的存儲過程不存在。這是存儲過程,我們在Run循環中檢查每一秒。角色循環遍歷每個分片並在每個分片數據庫上運行存儲過程。這一切都可以正常工作,但是偶爾我們會在日誌中發現錯誤,指出無法通過調用堆棧找到指示TransientFaultHandling連接重試的存儲過程。
由於我們的代碼只是創建一個連接(保持打開狀態)連接到一個分片然後執行存儲過程,所以我認爲候選人可能是因爲如果存在瞬時錯誤並且它重試連接,它可能最終結束連接回根數據庫,而不是用來連接的碎片?
我的問題是,TransientFaultHandling塊是否正確地解決了這個問題,並在重試連接時重新連接回正確的分片,如果不是這樣做的最佳做法?
感謝 加雷思
謝謝。這就是我的想法,我現在按照你的建議去做。 – user1642187