【问题标题】:Windows Azure Cache PreviewWindows Azure 缓存预览
【发布时间】:2012-07-16 05:08:21
【问题描述】:

我在使用 Windows Azure Cache Preview 时遇到了一些问题。

我已在此处添加 Nuget 包:http://nuget.org/packages/Microsoft.WindowsAzure.Caching 并已根据 windowsazure.com 上的信息配置我的角色以存储 ASP.NET 会话状态

问题是,调试时我得到No connection could be made because the target machine actively refused it 127.255.0.0:20004。 Azure 使用的开发 IP 是 12.7.0.0.1:81

我不知道为什么,即使是示例 Windows Azure Caching (Preview) Session State and Output Caching Sample 也会做同样的事情。

更新:日志错误:

w3wp.exe Error: 0 : ERROR: <SimpleSendReceiveModule> b4551065-941b-4bdb-9487-57d9207af308:Request - 1, result - Status=ChannelOpenFailed[System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 127.255.0.0:20004
   at Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke()
   at Microsoft.ApplicationServer.Caching.TcpClientChannel.ConnectionCallback(IAsyncResult result)] for end point [net.tcp://127.255.0.0:20004]

另外,更多的测试表明它不是用于会话状态存储,而是所有与缓存相关的任务。

【问题讨论】:

  • 我遇到了类似的问题,在我的情况下,我通过更改区域设置解决了这个问题——更多详细信息请参见this SO answer

标签: asp.net caching azure asp.net-session


【解决方案1】:

找到答案,在 webrole 或 workerrole 属性中,将实例数设置为最小 2,这就是我的问题。调试8小时后解决

【讨论】:

  • 当缓存配置为启用高可用性时也可能需要此设置——此设置要求至少有两个实例,有关更多详细信息,请参阅MSDN
【解决方案2】:

我没有亲自看到这个错误,所以我在黑暗中尝试了几次......

您是否在角色属性选项卡中启用了缓存预览?该步骤设置了缓存解决方案的“服务器”端。

您还需要确保各种配置中的名称保持一致,否则缓存客户端将无法找到服务。您应该在 dataCacheClient 部分的 web.config 中找到其中之一。特别是标识符属性。

【讨论】:

  • 是的,缓存选项卡上的角色启用了同位缓存 + web.config 中的名称是正确的。
【解决方案3】:

对于其他有同样问题的人,如果 Sundara Prabu 提出的解决方案不起作用,还有另外两种可能的解决方案:

  1. 只需按照thread on MSDN forums 中的建议重新启动计算机;
  2. 在 Windows 的区域设置中将长时间格式更改为 HH:mm:ss。正如我通过阅读this SO answer 发现的那样,缓存模拟器调用logman.exe 用于记录目的,特别是,它使用cnf 参数,该参数需要HH:mm:ss 格式的持续时间。缓存模拟器改为使用区域设置中的长时间格式格式化此持续时间 - 在我的情况下,使用 Windows 8 下的意大利设置,使用的格式为 HH.mm.ss,因此导致问题中描述的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2013-09-09
    相关资源
    最近更新 更多