2013-08-28 90 views
2

所以,今天我無法讓Azure緩存正常工作。 「暫時失敗,請稍後再試。」

  1. 安裝湛藍的SDK 2.1,和
  2. 創建了一個新的項目跟單WorkerRole,
  3. 得到利用的NuGet高速緩存包,
  4. 設置緩存的作用以「並置」
  5. 設置在App.config
  6. 評論保衛科主機爲「WorkerRole1」,因爲這只是一個測試
  7. 在「運行」DataCache c = new DataCacheFactory()。上插入以下行:GetDefaultCache();
  8. 命中調試

,並得到這個錯誤試圖執行上面的一行:

有一個臨時故障。請稍後重試。 (一個或多個指定的緩存服務器不可用,這可能是由繁忙的網絡或服務器引起的)對於本地緩存羣集,還要驗證以下條件:確保已爲此客戶端帳戶授予安全權限,並檢查AppFabric緩存服務通過在所有緩存主機的防火牆。同時在服務器上MAXBUFFERSIZE必須大於或等於從客戶端發送的序列化對象的大小。)

我看了看周圍很多(約5小時),並沒有找到任何解釋...任何人都可以幫忙嗎?

+1

只是好奇 - 宜主機名如果你擁有的只是一個輔助角色,那麼是'WebRole1'? –

+0

是的,嘗試將'WebRole1'更改爲'WorkerRole1'或工作者角色的**實際名稱**。 – astaykov

+0

ops that is a typo!我的壞 – Leonardo

回答

3

我安裝的是舊版本的SDK(版本1.8和2.0),現在它的工作...去圖...

+0

我浪費了整整一天,終於找到了答案。它像一個魅力。謝謝。 – User5590

0

當Cloud Service項目未正確升級到2.1時,我遇到了這個問題。確保該項目肯定使用2.1 SDK,然後確保所有NuGet包都已更新。最新的Azure緩存NuGet包需要Windows Azure 2.1 SDK。

+0

的事情是,我沒有得到一個DLL異常或類似的東西...但生病檢查出來 – Leonardo

+0

這可能是有道理的,如果DLL的版本不匹配。祝你好運! – TJBeanz

1

在我來說,我已經得到了同樣的異常(有Azure的SDK 2.1和Windows Azure緩存2.1),當我從指定角色禁用緩存並在計算模擬器中運行託管服務時(我需要此行爲來禁用僅基於csdef配置的緩存,無需其他設置)。

在先前版本的Azure緩存中,此方案在DataCacheFactory構造函數中導致異常,現在我不再有此異常,但角色在構造函數調用中掛起了三分鐘,並且我得到了您描述的異常。

我已通過更改檢測緩存是否被禁用的代碼解決了此問題 - 您可以在this SO question中閱讀更多詳細信息。

1

我遇到了同樣的錯誤,對我來說問題是我已經從NuGet安裝了緩存包(通過遵循這裏的指令:http://www.windowsazure.com/en-us/documentation/articles/cache-dotnet-how-to-use-in-role/#NuGet),默認情況下安裝最新版本,忽略了這樣一個事實:我的項目使用的是舊版本的Azure(2.1)。因此,緩存包中的某些組件引用了Microsoft.WindowsAzure.Diagnostics版本= 2.2.0.0,該版本的版本高於項目中引用的診斷程序集。

我通過卸載Azure的緩存包修復它(V 2.2),並通過運行程序包管理器控制檯命令手動安裝相符的版本(2.1版):

PM> Install-Package Microsoft.WindowsAzure.Caching -Version 2.1 
+0

經過6個小時的反覆試驗,我發現了你的帖子。謝謝。 – Don

相關問題