2012-03-24 34 views

回答

2

這是非常有趣的。我根本不會想到,Windows Azure存儲客戶端會使用「瞬態故障處理」(TFS)指南。對於斑點和隊列(還有一些表操作),已經有一個默認的重試策略。所以,如果你要使用結合的TFS的政策,我肯定會刪除重試策略(使用Retry.NoRetry),默認情況下是在存儲客戶端(即30 SEEC每4重試政策中的指數退避) 。

所有這一切都這樣說,我已經在重新嘗試爲Windows Azure存儲策略已被證明是有害無益實踐中發現(即你最好不使用它們的話)。沒有指定一個非常自定義的重試策略,他們實際上不能很好地工作。請注意,我正在討論存儲,而不是SQL Azure。由於您使用的是基於REST的協議,因此在重試策略有意義的情況下,沒有可以「重置」的有狀態連接。你最終看到的大多數錯誤(> 90%的經驗)都是你想從不想要重試。例如,大多數失敗是403禁止的,DNS解析失敗,404錯誤等。幾乎毫無例外,你永遠不會想重試那些(例如,如果你的證書不好,爲什麼你會再嘗試4次?)。什麼結束了在大多數情況下發生的,是你重試的錯誤,將從未成功,你浪費〜2分鐘(每30秒4重試)終於放棄。我的建議是簡單地禁用該策略並僅處理該異常。

+0

我得到了很多錯誤,比如'無連接可以作出,因爲目標機器積極地拒絕它70.37.127.112:443'。我使用重試策略'new FixedInterval(3,TimeSpan.FromSeconds(1));'。希望這項工作,會看到 – 2012-03-24 20:25:07

+1

我很少看到這個錯誤。我想知道你爲什麼看到這麼多。如有必要,您可以保留某些讀取操作的默認策略,並在寫入等操作時將其刪除。 – dunnry 2012-03-24 20:28:01

+0

我也想知道爲什麼我打的錯誤那麼多,爲什麼我總是打同一臺機器上,檢查我的新問題,請http://stackoverflow.com/questions/9859286/azure-table-storage-how-to-avoid-連接錯誤,我試了重試 – 2012-03-25 10:07:56

相關問題