繁体   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