SDK 2.5升级后,Windows Azure角色内缓存无法正常工作

时间:2015-01-12 22:05:49

标签: azure azure-web-roles azure-worker-roles azure-caching azure-in-role-cache

我将我的Azure Web角色项目从SDK v1.8更新为SDK v2.5,并且角色内缓存似乎不再起作用。我看到以下错误

  

ErrorCode ERRCA0017:SubStatus ES0006:存在暂时性故障。请稍后重试。 (一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的。对于内部部署缓存集群,还要验证以下条件。确保已为此客户端帐户授予安全权限,并检查AppFabric允许缓存服务通过所有缓存主机上的防火墙。服务器上的MaxBufferSize也必须大于或等于从客户端发送的序列化对象大小。)。 其他信息:客户端正在尝试与服务器通信:net.tcp://10.175.252.32:20004 /。 ---> System.Net.Sockets.SocketException:无法建立连接,因为目标计算机主动拒绝它10.175.252.32:20004      在Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()      在Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.TcpConnectionCallback(IAsyncResult结果)      ---内部异常堆栈跟踪结束---      在Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ErrStatus errStatus,Guid trackingId,Exception responseException,Byte [] [] payload,EndpointID destination)      在Microsoft.ApplicationServer.Caching.SocketClientProtocol.ExecuteApi(IVelocityRequestPacket请求,IMonitoringListener侦听器)      在Microsoft.ApplicationServer.Caching.SocketClientProtocol.Upsert(VelocityPacketType类型,字符串键,对象值,DataCacheItemVersion oldVersion,TimeSpan超时,DataCacheTag []标签,字符串区域,IMonitoringListener侦听器)      at Microsoft.ApplicationServer.Caching.SocketClientProtocol.Put(String key,Object value,DataCacheItemVersion oldVersion,TimeSpan timeout,DataCacheTag [] tags,String region,IMonitoringListener listener)      at Microsoft.ApplicationServer.Caching.DataCache.InternalPut(String key,Object value,DataCacheItemVersion oldVersion,TimeSpan timeout,DataCacheTag [] tags,String region,IMonitoringListener listener)      在Microsoft.ApplicationServer.Caching.DataCache。<> c__DisplayClass23.b__22()      在Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction [TResult](Func`1 func)

这是app.Config设置

<dataCacheClients>
  <dataCacheClient name="default">
    <autoDiscover isEnabled="true" identifier="WorkerRole" />
  </dataCacheClient>
</dataCacheClients>

以下是我项目中的软件包

<package id="WindowsAzure.ServiceBus" version="2.5.3.0" targetFramework="net45" />
<package id="WindowsAzure.Storage" version="4.2.1" targetFramework="net45" />
<package id="Microsoft.WindowsAzure.Caching" version="2.5.0.0" targetFramework="net45" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="2.0.3" targetFramework="net45" />
<package id="EnterpriseLibrary.TransientFaultHandling.Caching" version="6.0.1304.0" targetFramework="net45" />

即使在模拟器上,我也看到了同样的错误(没有附加信息)。 WinDebug不能在Azure角色上工作(它会打开错误的状态)。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这个问题是一个旧问题(但仍然相关),但我偶然发现了它,并且只想添加答案以防其他人得到这个......

问题是Windows Azure Cache与SDK紧密相关。因此,如果您使用此更新并更新SDK,则还必须将Windows Azure缓存更新为最新版本。

NuGet包是“Microsoft.WindowsAzure.Caching”。

我总是建议在SDK更新后重新映像您的虚拟机,以确保一切正常。我有一个问题,我更新了现有的虚拟机,因此有2个版本的SDK。为Windows Update更新虚拟机时,只有1个版本的SDK可用且缓存失败。