1

所以就在最近,我的主计算机开始出现 Window Azure 模拟器的问题。当我尝试使用模拟器调试我的解决方案时,它最终会循环尝试连接。

这是我在输出窗口中得到的:

> iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> d8c9fa85-ded3-48ad-94a3-ec31e2123bb3: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.AsyncResult`1.EndInvoke()
  at Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.EndConnect(IAsyncResult asyncResult)
  at 

Microsoft.ApplicationServer.Caching.TcpClientChannel.ConnectionCallback(IAsyncResult result)] for end point [net.tcp://127.255.0.0:20004]
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready
iisexpress.exe Warning: 0 : WARNING: <DistributedCache.SocketClientChannel.1> Request 1 to host net.tcp://127.255.0.0:20004/ failed 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.AsyncResult`1.EndInvoke()
   at Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.EndConnect(IAsyncResult asyncResult)
   at Microsoft.ApplicationServer.Caching.TcpClientChannel.ConnectionCallback(IAsyncResult result)]
iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> d8c9fa85-ded3-48ad-94a3-ec31e2123bb3: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

通过研究,我发现127.255.X.Xip 是模拟器从其内部负载均衡器中生成的 ip。我不明白为什么我的机器决定它不想接受这个连接。我已经关闭了所有防火墙,重新安装了 Visual Studio,完全重新安装了 Windows azure,但仍然没有运气。它绝对不是基于代码的,因为我的同事和我的辅助机器没有问题。但是,使用我的第二台机器并不可取,所以我想让这台机器正常工作,我想找到一个不涉及完全格式化我的机器的解决方案,这与我目前的知识有关。

当前运行 2012 年 10 月发布的 azure、visual studio 2012 和 .net 4.5。

任何帮助,将不胜感激。

4

1 回答 1

2

我在 Windows 8 下使用 Azure SDK 2.0 时遇到了类似的问题,而在 Windows 7 下使用 Azure SDK 1.8 时我没有问题。和你一样,我最初想到的是与网络相关的问题。然后我尝试禁用缓存,并注意到我的云项目中的其他角色正确地注意到缓存服务不可用,并出现另一个错误消息。

根据我的经验,这个问题很可能与您的区域设置有关,特别是与指定 Long Time 格式的方式有关。我从这个SO question发现缓存模拟器logman.exe用于记录目的,它使用区域设置中的 Long Time 格式将持续时间传递给cnf参数(例如HH.mm.ss在我的 Windows 8 机器中使用意大利语设置)——但实际上cnf需要持续时间完全符合格式HH:mm:ss(用冒号而不是点)。在我更改了长时间格式后,缓存开始在计算机模拟器中正常工作。

您还可以考虑以下解决方案:

于 2013-05-03T17:44:48.440 回答