2013-02-20 28 views
8

Windows Azure Caching'i öykünücü ile kullanırken (yani Yerel'de değil, Bulut'ta) bir sorunum var.Windows Azure Hata ayıklama sırasında önbelleğe alma - İstek Zaman Aşımı

Benim sistem konfigürasyonları şunlardır:

  • Windows 8
  • Visual Studio 2012 Güncelleme 1
  • Azure SDK ve emülatörü 1.8
  • , Windows Azure Caching 1.8.1
  • Web API
  • .NET 4.5

Sorun şu ki: Sunucumuz, oturum yöneticileri için vb. Windows Azure önbelleğe alma işlemlerini kullanır. Sunucu istemcilerden istek aldığında, bazı nesneleri (örneğin oturum nesneleri) koymak/almak için Windows Azure Önbellekleme ile iletişim kurmaya başlar. . Sonra bir "zaman aşımı" özel durum (Microsoft.ApplicationServer.Caching.DataCacheException) oluştu ve sunucu Visual Studio'nun çıkış günlüğüne aşağıdaki iletileri gösteren yanıt vermiyor. Bu meydana başladığında

... 
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 

, sunucu (yani çalışan, ancak duyarlı değil) sadece aşağıda.

Bunun neden olduğu hakkında bir fikriniz var mı? Windows 8 ile ilgili mi?

sayesinde

cevap

1

Ben de bu sorun vardı ve bir makinede Hyper-V Sanal Ethernet Adaptörleri için aşağı takip. Kurduğum iki bağdaştırıcıyı devre dışı bırakmak, Azure Önbelleğe Alma'de zaman aşımı hatalarını düzeltdi. Bu makinede Ağ/İnternet'e bağlı kalmaya devam edebilirim.

Başka bir makinede Hyper-V yüklenmemiş ve Ethernet Bağdaştırıcısının devre dışı bırakılması (Internet bağlantısının kesilmesi) sorunu giderilmiştir. Uygulamamı çalıştırmak için öncelikle ağdan her defasında bağlantıyı kesmeliyim.

Bu makinelerin her ikisinde de, Azure önbelleğe alma işleminin önbellek sunucuları için bir IP araması yaparken sorun yaşandığı görülmektedir (ör. 127.255.0.0, 127.255.0.1, 127.255.0.2, vb.). Birkaç istek, sonra zaman aşımına başlar. Ağ bağlantısı kesildiğinde daima çalışır.

Bu, Windows 8 makinelerinde, sorun yaşamadan aylarca benim için iyi çalışıyordu. Benim için bu sabit DNS önbelleğini temizleme

Güncelleme

, şimdi bir ağa bağlıyken çalışır. ipconfig /flushdns

+1

Teşekkür yardımcı olur! :) – soleiljy

0

Bunu tam olarak doğrulayamadım, ancak sorunun, maskeleme önbelleği belleklerindeki eski protokolle ilgili bir şey olduğu anlaşılıyor.

benim varsayılan önbellek bu yapılandırmayı çalıştırarak soruna başardı:

<dataCacheClient name="default" isCompressionEnabled="false" maxConnectionsToServer="4" useLegacyProtocol="false" > 

Umut bu deneyiminizi paylaştığınız için

İlgili konular