エミュレーター (クラウドではなくローカル) で Windows Azure キャッシュを使用しているときに問題が発生しました。
私のシステム構成は次のとおりです。
- ウィンドウズ8
- Visual Studio 2012 Update 1
- Azure SDK とエミュレーター 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, Server URI: [net.tcp://127.255.0.0:20004], 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に関連していますか?
ありがとう、