17 Coherence .NETクライアントの概要
この章の内容は次のとおりです。
- Coherence for .NETの概要
Coherence for .NETを使用すると、データ、データ・イベント、データ処理などのCoherenceクラスタ・サービスに、Coherenceクラスタ外部から.NETアプリケーションを使用してアクセスできます。 - .NETクライアントの構成と使用
Coherence .NETクライアントの使用に必要な主要なステップを理解します。
親トピック: .NET Extendクライアントの作成
Coherence for .NETの概要
Coherence for .NETは、Coherenceクラスタ内で稼働するCoherence*Extendクラスタ化サービス・インスタンスに、高性能なTCP/IPベースの通信レイヤーを使用して接続する軽量の.NETライブラリで構成されます。このライブラリからCoherence*Extendクラスタ化サービスにすべてのクライアント・リクエストが送信され、このサービスは実際のCoherenceクラスタ化サービス(パーティション・キャッシュ・サービス、レプリケート・キャッシュ・サービスなど)に委任することで、クライアント・リクエストに応答します。
INamedCache
インスタンスは、CacheFactory.GetCache(...)
APIコールを使用して取得されます。これが取得されると、クライアントはCoherenceクラスタに組み込まれている場合と同じようにINamedCache
にアクセスします。INamedCache
の操作はリモートのクラスタ・ノードに(TCP/IPを介して)送信されますが、この処理はクライアント・アプリケーションに対して完全に透過的に行われます。
親トピック: Coherence .NETクライアントの概要
.NETクライアントの構成と使用
この項では、Coherenceを使用するための.NETアプリケーションの設定手順を説明します。この項には次のトピックが含まれます:
親トピック: Coherence .NETクライアントの概要
一般的な手順
Coherence .NETクライアントの作成および使用のための基本的な一連のステップをたどることができます。一般的なステップは次のとおりです。
-
.NETクライアント・アプリケーションの起動
親トピック: .NETクライアントの構成および使用方法
Coherence*Extend for .NETの構成
Coherence for .NETクライアントでは、Coherenceキャッシュ構成ファイルに特定のXMLスキーマを使用します。キャッシュ構成ファイルで次のスキーマが使用されていることを確認します。
<cache-config xmlns="http://schemas.tangosol.com/cache" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.tangosol.com/cache assembly://Coherence/Tangosol.Config/cache-config.xsd"> ...
Coherence*Extendの設定および構成に関する一般的な手順は、次を参照してください。
親トピック: .NETクライアントの構成および使用方法
.NETによるキャッシュ参照の取得
CacheFactory
クラスを使用することによって、構成済キャッシュへの参照を名前によって取得できます。
INamedCache cache = CacheFactory.GetCache("example-local-cache");
親トピック: .NETクライアントの構成および使用方法
キャッシュに関連付けられたリソースのクリーンアップ
LocalCache
を含め、INamedCache
インスタンスは、不要になったときにINamedCache.Release
メソッドをコールして明示的に解放する必要があります。特定のINamedCache
がアプリケーションの継続期間を通して使用される場合、リソースはそのアプリケーションがシャットダウンされたとき、または停止したときにクリーンアップされます。ただし、そのインスタンスを使用するのが一定期間のみである場合は、アプリケーションで、使用が終わったらそのRelease
メソッドをコールする必要があります。
または、INamedCache
がIDisposable
を拡張し、すべてのキャッシュ実装がIDisposable.Dispose
のコールをINamedCache.Release
に委任しているという事実を利用する方法もあります。単一メソッド内でキャッシュ・インスタンスを取得および解放する必要がある場合、次のusing
ブロックを使用してそれを実現できます。
using (INamedCache cache = CacheFactory.GetCache("my-cache")) { // use cache as usual }
using
ブロックが終了すると、INamedCache
インスタンスでIDisposable.Dispose
がコールされ、そのインスタンスに関連付けられているすべてのリソースが解放されます。
親トピック: .NETクライアントの構成および使用方法