2

Web サイトで AppFabric キャッシュを適切に構成する方法を理解しようとしています。SQL Server をキャッシュ マネージャーとして使用する予定です。私が理解できる限り、SQL にはクラスター内のキャッシュ ホストのリストが含まれます。

ただし、実行時は

DataCacheFactory factory = new DataCacheFactory();

私は得る

サーバー コレクションを空にすることはできません。

web.config にサーバーを追加していないので、これは当然のことだと思います。

ただし、各 Web サーバーでサーバー リストを維持するのではなく、SQL Server で一元的に管理したいと考えています。SQL Server を指す方法があると思いますが、これを行う方法に関する情報が見つかりません。

(XML 構成オプションも試してみましたが、そのファイルを見つけることさえできませんでした。Power Shell でサービスの正常性を確認しました。)

サーバー キャッシュ ホスト リストを一元化するにはどうすればよいですか?

4

1 に答える 1

1

SQL Server をキャッシュ マネージャーとして使用する予定です。私が理解できる限り、SQL にはクラスター内のキャッシュ ホストのリストが含まれます。

それは間違っています。SQL Server はクラスター管理を実行できますが、それはキャッシュ ホスト、および最終的にはキャッシュ クラスターの管理のみを目的としています。これは内部管理用であり、クライアントはこの構成を使用でき、Sql Server にアクセスする必要はありません。

DataCacheFactory factory = new DataCacheFactory();

このコードは、構成でデフォルトの datacacheclient をロードしようとします。あなたの場合、空でなければならないので、このエラーが発生します。

このように、コードを使用してキャッシュ ホストを構成することもできます。

// Declare array for cache host(s).
DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("CacheServer1", 22233);
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);
DataCache myDefaultCache = mycacheFactory.GetCache("NamedCache1");

ここですべてのホスト名を指定する必要はありません。リストにない場合、AppFabric キャッシュは正しいキャッシュ ホスト イベントに要求をルーティングするためです。

于 2013-04-17T20:26:16.977 に答える