Azure缓存连接异常

时间:2014-06-03 19:25:01

标签: azure azure-caching

我正在使用Azure专用缓存来存储我的会话状态,并且我最近遇到连接失败,然后关闭我的应用程序。解决它的唯一方法是重新启动应用程序。

有没有人知道如何捕获这种类型的异常,然后动态刷新缓存连接?

我正在使用azure缓存库2.3和我按照本文在缓存中设置sessionstate。 http://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-service/#store-session

这是我得到的例外。

“ClassName”:“Microsoft.ApplicationServer.Caching.DataCacheException”, “消息”:“存在暂时性故障。请稍后重试。(一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的。对于内部部署缓存集群,还要验证以下条件。确保已为此客户端帐户授予安全权限,并检查是否允许AppFabric缓存服务通过所有缓存主机上的防火墙。服务器上的MaxBufferSize也必须大于或等于从客户端发送的序列化对象大小。) ” “数据”:{       “客户端正在尝试与服务器通信:net.tcp://xxxxx.cache.windows.net:23233。”:null     },

谢谢!

1 个答案:

答案 0 :(得分:0)

我被引导到这篇文章,其中提供了有关如何刷新Azure DataCacheFactory的一些细节。

http://blogs.msdn.com/b/cie/archive/2014/04/29/cache-retry-fails-what-next.aspx

我只使用内置的SessionProvider,所以我觉得这有点多了,我无法理解正在发生的一切。因此,我会捕获异常,然后重新启动角色,以便在应用启动时建立新连接。

以下是该帖子问题的根本原因..

  

一般情况下,原因可能是高可用性的基础   缓存服务负载平衡分区和辅助节点   正在转换到主要,客户端仍在发送请求   旧的主节点OR由于某种原因缓存服务被移动到   不同的VM作为服务修复过程的一部分,但仍然缓存客户端   拥有缓存服务VM的旧IP地址。

     

尽管在极端情况下实施重试政策是好事   在重试没有帮助的地方你可以使用以下方法   应用程序通过刷新缓存客户端来缓解错误   抛出异常。