Windows Azure缓存(预览)ErrorCode <errca0017>:SubStatus <es0006>:</es0006> </errca0017>

时间:2012-08-18 21:49:48

标签: windows azure

我正在使用基于角色的缓存功能来实现windows azure web角色。 配置为共处。我按照windows azure docs给出的步骤进行缓存(预览)。我收到以下错误:

  

ErrorCode&lt; ERRCA0017&gt ;:SubStatus&lt; ES0006&gt;:暂时失败。   请稍后重试。 (一个或多个指定的缓存服务器是   不可用,这可能是由繁忙的网络或服务器引起的。对于   内部部署缓存集群,还验证以下条件。   确保已为此客户端授予安全权限   帐户,并检查是否允许AppFabric缓存服务   通过所有缓存主机上的防火墙。还有MaxBufferSize   server必须大于或等于序列化对象大小   从客户发送。)附加信息:客户正在尝试   与服务器通信:net.tcp://127.255.0.4:20010 /。

我正在运行一切为localhost,使用本地开发存储,我的缓存客户端与服务器的角色相同。改变了许多配置属性,但我总是得到那个“无法连接到tcp ....”的类似物。

我很感激一些帮助。感谢。

2 个答案:

答案 0 :(得分:1)

您的应用程序可能会出现一些问题。

首先要确保在您的计算机中使用SDK 1.7,即使使用Windows Azure缓存服务,然后验证您是否具有来自Windows Azure缓存的引用集(而不是来自Windows Server App Fabric SDK)。我在过去看到过这样的错误配置导致了这样的错误。

现在您已将dataCacheClient,identifier更改为您的ROLE名称,如文档链接here中所述。如果您按照描述的方式操作文档,则不应该出现任何错误,以便检查可能出现的错误,您可以创建与此链接中描述的完全相同的应用程序,看看它是否有效。

要获得更多详细信息错误,请务必将DataCacheFactoryConfiguration.ChannelOpenTimeout值增加到更长时间,即2分钟,然后默认为20秒,如here所述。此步骤将帮助您获取有关内部异常的详细信息,这可能会导致问题的根本原因。

答案 1 :(得分:1)

我们使用Azure共存缓存(不再在预览中)作为我们的会话支持者并且具有相当规律的中断。大约一个月一次。

我们尝试使用企业库Transient Fault Handling但我们的实例在缓存体验问题时仍然会挂起。我认为瞬态故障代码可以用于数据缓存,但是对于会话支持,有一些活动更接近于我们似乎无法编码的金属。

错误代码在去年变得更具信息量,并且类似于......

  

ErrorCode:SubStatus:请求超时..   附加信息:客户端正在尝试与之通信   server:net.tcp://10.xx.xxx.xx:xxxxx /。

我们对实验和MS支持的最佳猜测是,每个或至少一个共存的缓存角色/实例需要知道所有其他实例的IP,因为Azure可以随时销毁和重新启动实例,这有时无法更新依赖实例。这是Azure的秘诀,但当我们的网站出现故障时,这不是秘密。我正在寻找有关此问题的更多信息,并了解其他人如何解决此问题。

一种可能的解决办法。我们才华横溢的平台管理员之一发现,在实例上重置IIS并扩展另外两个实例似乎有助于解决问题。这对我来说很有意义,因为它为缓存提供了另一个机会来收集有关其他实例的所有必需信息。这并不是为了解决问题而确认的,但是如果我们在下次停电期间重复这个问题,那么这可能是一个有效的解决方法。

相关问题