[英]Azure Caching - Failure after upgrading to SDK 2.1 and caching 2.1
似乎已經有許多關於此主題的問題,但我相信我的可能有所不同。 我的設置:
直到大約一周前,它們和諧共存,直到我嘗試升級到Azure緩存2.1。 一旦這樣做,我就感到困擾“似乎沒有這樣的主機”的問題,這個問題似乎已經影響了許多開發人員。 我發現了許多問題和站點,這些站點和站點指示我將Azure SDK安裝升級到新的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? 除了查看項目中每個引用的路徑(我已經做過,而且它們都匹配)之外,是否還有某種萬無一失的方法來檢查這一點?
並不是真正的答案,而是一些可以幫助您診斷問題的評論:
收集大量緩存診斷數據 -在“緩存配置”部分中,將“緩存工作角色”的“配置”部分中的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.