簡體   English   中英

Azure緩存-升級到SDK 2.1和緩存2.1后失敗

[英]Azure Caching - Failure after upgrading to SDK 2.1 and caching 2.1

似乎已經有許多關於此主題的問題,但我相信我的可能有所不同。 我的設置:

  • 1個Azure緩存工作者角色
  • 1個網絡角色

直到大約一周前,它們和諧共存,直到我嘗試升級到Azure緩存2.1。 一旦這樣做,我就感到困擾“似乎沒有這樣的主機”的問題,這個問題似乎已經影響了許多開發人員。 我發現了許多問題和站點,這些站點和站點指示我將Azure SDK安裝升級到新的2.1版本。 我已經做了所有這些事情:

  • 安裝最新的Azure SDK 2.1
  • 卸載Azure SDK 2.0
  • 卸載並重新安裝Azure Caching 2.1
  • 三遍檢查我所有緩存設置的配置
  • 三重檢查所有引用都指向最新版本,而不是舊版本
  • 右鍵單擊我的Azure Project到2.1,然后單擊“屬性”,然后單擊“升級”。

而且我仍然得到以下( 我的錯誤 ):

Exception type: SocketException 
Exception message: No such host is known
at System.Net.Dns.HostResolutionEndHelper(IAsyncResult asyncResult)

這不同於大多數其他問題和站點顯示的更典型的錯誤,即( 更常見的報告錯誤,不是我的 ):

No such host is known 
Exception message: No such host is known
at Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()

我大約需要30個小時來解決此問題,並且確實可以使用一些幫助。 也許我只是缺少一些有關SDK升級的步驟? 也許以某種方式偷偷地仍在使用舊版本的DLL? 除了查看項目中每個引用的路徑(我已經做過,而且它們都匹配)之外,是否還有某種萬無一失的方法來檢查這一點?

並不是真正的答案,而是一些可以幫助您診斷問題的評論:

  • Visual Studio 2012 /更新3-請確保您已將最新更新應用於VS。 我們遇到了類似的問題,這是幫助我們的事情之一。
  • 收集大量緩存診斷數據 -在“緩存配置”部分中,將“緩存工作角色”的“配置”部分中的Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel值更改為4 完成此操作后,在緩存工作器角色的OnStart()方法中添加以下代碼行:

     DiagnosticMonitorConfiguration dmConfig = DiagnosticMonitor.GetDefaultInitialConfiguration(); // Configure the collection of cache diagnostic data. CacheDiagnostics.ConfigureDiagnostics(dmConfig); DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", dmConfig); return base.OnStart(); 

希望這應該使您對到底發生了什么有所了解。

這也不是直接解決您的問題的方法,但我認為這可能有助於解決您的問題。

當我在計算模擬器中運行托管服務並且故意禁用緩存時,我遇到了此異常-在以前版本的Windows Azure緩存中, DataCacheFactory構造中會拋出異常,而對於版本,我會正確處理2.1(和Azure SDK 2.1)構造了DataCacheFactory ,沒有錯誤,但是在拋出您提到的異常之前,我在DataCache構造上停留了3分鍾。

我在回答中使用了Gaurav Mantri描述的過程,並且發現在Windows Azure的csdef ,如果在csdef找不到緩存角色,則DataCacheFactory會引發異常,而在2.1中,會將緩存角色名稱視為網絡中的地址-從而導致3分鍾的等待以及隨后的異常。

因此,我調整了代碼以檢測這種新行為-有關更多詳細信息,請參見此SO問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM