現在、WCF アプリケーションで Azure キャッシュを使用していますが、データをキャッシュに入れるときに次の例外が発生しました。
Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode< ERRCA0017 >:SubStatus< ES0006 >: 一時的なエラーがあります。後で再試行してください。(1 つ以上の指定されたキャッシュ サーバーが使用できません。これは、ネットワークまたはサーバーのビジー状態が原因である可能性があります。オンプレミスのキャッシュ クラスターの場合は、次の条件も確認してください。このクライアント アカウントにセキュリティ アクセス許可が付与されていることを確認し、AppFabricキャッシュ サービスは、すべてのキャッシュ ホストでファイアウォールを介して許可されます。また、サーバーの MaxBufferSize は、クライアントから送信されたシリアル化されたオブジェクト サイズ以上である必要があります。)
内部例外は次のとおりです。
System.ServiceModel.CommunicationException: ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超過したか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは「00:00:30」でした。---> System.Net.Sockets.SocketException: System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) で、既存の接続がリモート ホストによって強制的に閉じられました。 ServiceModel.Channels.SocketConnection.Write(Byte[] buffer, Int32 offset, Int32 size, Boolean immediate, TimeSpan timeout) --- 内部例外スタック トレースの終了 --- at System.ServiceModel.Channels.SocketConnection.Write(Byte[ ] バッファー、Int32 オフセット、Int32 サイズ、Boolean 即時、TimeSpan タイムアウト) System.ServiceModel.Channels で。Microsoft.ApplicationServer.Caching.MonitoringListenerFactory.EmptyListener.Microsoft.ApplicationServer.Caching.IMonitoringListener.Listen[TResult](Func`1 innerDelegate) のDisplayClass19.b _18() Microsoft.ApplicationServer.Caching.DataCache.Put(String key, Object) の価値)
問題は、このメッセージが非常に一般的であり、詳細があまり示されていないことです
私はすでに dataCacheClient の requestTimeout を 2 分に増やそうとしました。これは問題を解決しないため、キャッシュへの接続がタイムアウトしたため、問題は解決しないはずです
実稼働サーバー上の同じ量のデータには問題がないため、データ量が大きすぎるためではないこともわかっています(これはテストサーバーで発生します)。ローカル コンピューターからテスト データベースに接続しましたが、問題はありません
誰でもこの問題を解決する方法を知っていますか? ありがとう
以下は、Azure キャッシュの現在の構成です
<dataCacheClient name="default" requestTimeout="30000" isCompressionEnabled="true" >
<localCache isEnabled="true" sync="TimeoutBased" objectCount="4194304" ttlValue="80000" />
</dataCacheClient>