无法使Azure Cache工作。 “暂时失败了。请稍后重试。”

时间:2013-08-28 20:06:09

标签: caching azure azure-caching

所以,今天我

  1. 安装了azure SDK 2.1和
  2. 使用单个WorkerRole创建了一个新项目
  3. 使用NuGet获得了缓存包,
  4. 将角色的缓存设置为“Collocated”
  5. 在app.config
  6. 中将主机设置为“WorkerRole1”
  7. 评论了安全部分,因为这只是一个测试
  8. 在“运行”`DataCache c = new DataCacheFactory()上插入以下行.GetDefaultCache();
  9. 点击调试
  10. 并尝试执行上述行时遇到此错误:

      

    暂时失败。请稍后重试。 (一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的。对于内部部署缓存集群,还要验证以下条件。确保已为此客户端帐户授予安全权限,并检查AppFabric允许缓存服务通过所有缓存主机上的防火墙。服务器上的MaxBufferSize也必须大于或等于从客户端发送的序列化对象大小。)

    我环顾四周(大约5个小时)并没有找到解释......有人可以帮忙吗?

4 个答案:

答案 0 :(得分:3)

我安装了旧版本的SDK(版本1.8和2.0),现在它的工作......去图......

答案 1 :(得分:1)

在我的情况下,当我从指定的角色禁用缓存并在计算模拟器中运行托管服务时,我有相同的例外(使用Azure SDK 2.1和Windows Azure Caching 2.1)(我需要此行为来禁用缓存仅基于csdef配置,无需其他设置。)

在以前版本的Azure缓存中,此方案在DataCacheFactory构造函数中导致异常,现在我不再有此异常,但角色在DataCache构造函数调用中挂起三分钟而不是我得到了你描述的例外。

我通过更改检测缓存是否已禁用的代码解决了这个问题 - 您可以在this SO question中阅读更多详细信息。

答案 2 :(得分:1)

我遇到了同样的错误,我遇到的问题是我已经从NuGet安装了缓存包(按照此处的说明:http://www.windowsazure.com/en-us/documentation/articles/cache-dotnet-how-to-use-in-role/#NuGet),默认安装最新版本,忽略了我的项目是在旧版本的Azure(2.1)上的事实。因此,缓存包中的某些组件引用了Microsoft.WindowsAzure.Diagnostics,Version = 2.2.0.0,这是一个比项目中引用的Diagnostics程序集更高的版本。

我通过卸载Azure Cache软件包(v 2.2)并通过在软件包管理器控制台中运行此命令手动安装重合版本(v 2.1)来修复它:

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

答案 3 :(得分:0)

当Cloud Service项目未正确升级到2.1时,我遇到了这种情况。确保项目肯定使用2.1 SDK,然后确保所有NuGet包都已更新。最新的Azure Caching NuGet包需要Windows Azure 2.1 SDK。