キャッシュ クライアントのタイムアウトを構成する (Windows Server AppFabric キャッシュ)
Windows Server AppFabric のキャッシュ機能によって、キャッシュ クライアントのタイムアウトまでの時間を構成できます。キャッシュ クラスターからの応答を待つ時間を制御できます。このトピックでは、チャネル オープン タイムアウトと要求タイムアウトの 2 種類のタイムアウトについて説明します。
一部のアプリケーションでは、タイムアウト時間を短く設定し、タイムアウト エラーを適切に処理することによって、パフォーマンスの向上を実現します。アプリケーションによっては、タイムアウト時間を比較的長く設定して、このようなエラーの頻度を低くする方がよい場合もあります。
ここで説明するタイムアウトは、キャッシュ クラスターとの初期接続には適用されません。この初期接続は、新しい DataCacheFactory オブジェクトの作成時に発生します。この接続では、Servers プロパティ、またはアプリケーション構成ファイルの hosts
要素に指定された 1 つ以上のサーバーを介してクラスターとの通信が試みられます。このようなサーバーと通信するネットワークやクラスターに問題がある場合、初期接続の確立に時間がかかる可能性があります。この遅延を緩和するには、セカンダリ スレッドに DataCacheFactory オブジェクトを作成します。アプリケーションは、プログラミング モデルに基づいて、キャッシュ クラスターとの接続が確立されるまでキャッシュがなくてもソース データを使用することにより機能できる必要があります。
ChannelOpenTimeout
チャネル オープン タイムアウトの時間を超えると、DataCacheException がスローされ、ErrorCode が RetryLater に設定されます。ChannelOpenTimeout 構成設定は、サーバーとのネットワーク接続を確立する際にキャッシュ クライアントが待機する時間を制御します。すべてのエラーが直ちにクライアントに返されるようにする場合は、このタイムアウトを 0
に設定することを選択できます。
この設定をプログラムによって変更するには、DataCacheFactoryConfiguration オブジェクトの ChannelOpenTimeout プロパティを構成します。
この設定をアプリケーションの構成ファイルで制御するには、dataCacheClient
要素に対して、channelOpenTimeout
属性を使用してタイムアウト時間をミリ秒単位で指定します。
RequestTimeout
要求タイムアウトの時間を超えると、DataCacheException がスローされ、ErrorCode が Timeout に設定されます。RequestTimeout 構成設定は、サーバーから特定の API 呼び出しの応答を受け取る際に、キャッシュ クライアントが待機する時間を制御します。たとえば、Get メソッドを呼び出してキャッシュからオブジェクトを取得する場合、要求タイムアウトによって、例外がスローされるまでのキャッシュ クライアントが応答を待機する時間が決まります。ChannelOpenTimeout の場合とは異なり、RequstTimeout を 0 に設定するとサーバーに対するすべての呼び出しでタイムアウト エラーが発生するので、0 に設定しないでください。
この設定をプログラムによって変更するには、DataCacheFactoryConfiguration オブジェクトの RequestTimeout プロパティを構成します。
この設定をアプリケーションの構成ファイルで制御するには、dataCacheClient
要素の requestTimeout
属性を使用してタイムアウト時間をミリ秒単位で指定します。
関連項目
概念
例外処理の概要 (Windows Server AppFabric キャッシュ)
一般的例外 (Windows Server AppFabric キャッシュ)
2011-12-05