【问题标题】:Azure Caching - Failure after upgrading to SDK 2.1 and caching 2.1Azure 缓存 - 升级到 SDK 2.1 和缓存 2.1 后失败
【发布时间】:2013-08-31 19:44:21
【问题描述】:

似乎已经有很多关于这个主题的问题悬而未决,但我相信我的问题可能会有所不同。我的设置:

  • 1 Azure 缓存辅助角色
  • 1 个网络角色

直到大约一周前,它们一直和谐相处,直到我尝试升级到 Azure 缓存 2.1。一旦我这样做了,我就被“没有这样的主机是已知的”问题所困扰,这似乎已经影响了许多开发人员。我发现许多问题和网站都指示我将我的 Azure SDK 安装升级到新的 2.1 版本。我做了所有这些事情:

  • 安装最新的 Azure SDK 2.1
  • 卸载 Azure SDK 2.0
  • 卸载并重新安装 Azure 缓存 2.1
  • 我所有缓存设置的三重检查配置
  • 三重检查所有引用都指向最新版本而不是旧版本
  • 通过右键单击,转到“属性”,然后单击“升级”,将我的 Azure 项目升级到 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?除了查看项目中每个引用的路径(我已经做过,而且它们都匹配)之外,是否有一些万无一失的方法来检查这个?

【问题讨论】:

  • 我在同一条船上......你有没有解决过这个问题......即使我遇到了同样的问题并且已经花了几天时间。
  • 我解决了导致此问题的问题。安装程序不喜欢在同一个云项目中有多个定义。因此它不包括导入缓存行。然后我得到了你上面提到的奇怪行为。它是由于我在错误中建议的定义的配置部分手动输入而构建的(即使它是构建的,这也是错误的方法)。

标签: caching azure


【解决方案1】:

不是真正的答案,而是一些可以帮助您诊断问题的 cmets:

  • Visual Studio 2012/Update 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();
    

希望这能让您了解到底发生了什么。

【讨论】:

    【解决方案2】:

    这也不是您问题的直接答案,但我认为它可能有助于解决您的问题。

    当我在计算模拟器中运行我的托管服务并且缓存被故意禁用时,我遇到了这个异常 - 在以前版本的 Windows Azure 缓存中,DataCacheFactory 构造会引发异常,我会处理它正确地,在使用 2.1 版(和 Azure SDK 2.1)时,DataCacheFactory 的构造没有错误,但是在你提到的异常被抛出之前,我在 DataCache 构造上卡住了 3 分钟。

    我使用了 Gaurav Mantri 在his answer 中描述的过程,我发现在以前版本的 Windows Azure 缓存中,如果在csdef,而在 2.1 中,它会将缓存角色名称视为网络中的地址——从而导致 3 分钟的等待和随后的异常。

    因此,我调整了我的代码以检测这种新行为 - 更多详细信息,请参阅 this SO question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-05
      • 1970-01-01
      相关资源
      最近更新 更多