调试时的Windows Azure缓存 – 请求超时

前端之家收集整理的这篇文章主要介绍了调试时的Windows Azure缓存 – 请求超时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 Windows Azure缓存与模拟器(即在本地,而不是云)时遇到问题.

我的系统配置是:

> Windows 8
> Visual Studio 2012 Update 1
> Azure SDK和Emulator 1.8
> Windows Azure缓存1.8.1
> Web API
> .NET 4.5

问题是:我们的服务器利用(角色中)Windows Azure缓存进行会话管理等.一旦服务器从客户端获得请求,它就开始与Windows Azure缓存通信以放置/获取一些对象(例如,会话对象).然后发生“超时”异常(Microsoft.ApplicationServer.Caching.DataCacheException),服务器无响应,在Visual Studio输出日志中显示以下消息.

...
iisexpress.exe Error: 0 : ERROR: <DistributedCache.RoutingClient> 25cb6980-94c5-4e72-  adee-cd58defff7fe:SendMsgAndWait: Request TimedOut,msgId = 77

A first chance exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException' occurred in Microsoft.ApplicationServer.Caching.Client.dll

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
iisexpress.exe Error: 0 : The thread '<No Name>' (0x16d0) has exited with code 0 (0x0).

The thread '<No Name>' (0x1a00) has exited with code 0 (0x0).
The thread '<No Name>' (0x2298) has exited with code 0 (0x0).

ERROR: <DistributedCache.RoutingClient> e91ff46b-870c-4d83-8eef-6bdb718baab9:SendMsgAndWait: Request TimedOut,msgId = 78

iisexpress.exe Warning: 0 : Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting

Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready

WARNING: <SimpleSendReceiveModule> DeadServerCallback Called,Server URI: [net.tcp://127.255.0.0:20004],Underlying exception - 

A first chance exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException' occurred in Microsoft.ApplicationServer.Caching.Client.dll

iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> DeadServerCallback Called,Underlying exception - 

iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> DeadServerCallback: Matches My Server,Cleaning Pending Requests

iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> 48c1dd7f-f54d-40a8-9990-25af48b91eb1:Request - 79,result - Status=SendFailed[System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host

   at System.Net.Sockets.Socket.Send(IList`1 buffers)

   at Microsoft.ApplicationServer.Caching.TcpSocketChannel.Send(IList`1 buffers,TimeSpan timeout)]

iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> DeadServerCallback: Matches My Server,Cleaning Pending Requests

A first chance exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException' occurred in Microsoft.ApplicationServer.Caching.Client.dll

iisexpress.exe Warning: 0 : WARNING: <DistributedCache.SocketClientChannel.1> Request 81 to host net.tcp://127.255.0.0:20004/ Failed Status=Channelopening

iisexpress.exe Warning: 0 : WARNING: <DistributedCache.SocketClientChannel.1> Request 80 to host net.tcp://127.255.0.0:20004/ Failed Status=Channelopening

iisexpress.exe Warning: 0 : WARNING: <SimpleSendReceiveModule> 8ec8ff74-1f04-49da-8ff5-529d0697542f:Request - 81,result - Status=Channelopening

iisexpress.exe Warning: 0 : A first chance exception of type 'Microsoft.ApplicationServer.Caching.DataCacheException' occurred in Microsoft.ApplicationServer.Caching.Client.dll

当这开始发生时,服务器刚刚关闭(即运行,但没有响应).

知道为什么会这样吗?它与Windows 8有关吗?

谢谢,

我也遇到了这个问题,并将其追溯到一台机器上的Hyper-V虚拟以太网适配器.禁用我安装的两个适配器修复了Azure缓存中的超时错误.在这台机器上,我可以继续保持与网络/互联网的连接.

在另一台机器上没有安装Hyper-V,并且禁用以太网适配器(断开与互联网的连接)“修复”了这个问题.因此,要运行我的应用程序,我必须首先断开与网络的连接.

在这两台机器上,开发Azure缓存在执行缓存服务器的IP查找(例如127.255.0.0,127.255.0.1,127.255.0.2等)时似乎有问题,它适用于一些请求,然后开始超时.当与网络断开连接时,它始终有效.

在我开始遇到问题之前,这两台Windows 8机器上的这个工作正常.

更新

刷新DNS缓存为我解决了这个问题,现在它可以在连接到网络时运行. ipconfig / flushdns

猜你在找的Windows相关文章