appfabricを、顧客向けWebサイトと管理者Webサイトで構成されるNHibernateasp.netアプリケーションの第2レベルのキャッシュとして使用しています。これらは両方とも同じキャッシュに接続されているため、管理者が何かを更新すると、顧客向けのサイトが更新されます。
正常に機能しているようです。別のサーバーにCacheCLusterがあり、すべて問題ありませんが、localcacheを有効にしてパフォーマンスを向上させたいのですが、機能していないようです。
このように有効にしました...
bool UseLocalCache =
int LocalCacheObjectCount = int.MaxValue;
TimeSpan LocalCacheDefaultTimeout = TimeSpan.FromMinutes(3);
DataCacheLocalCacheInvalidationPolicy LocalCacheInvalidationPolicy = DataCacheLocalCacheInvalidationPolicy.TimeoutBased;
if (UseLocalCache)
{
configuration.LocalCacheProperties =
new DataCacheLocalCacheProperties(
LocalCacheObjectCount,
LocalCacheDefaultTimeout,
LocalCacheInvalidationPolicy
);
// configuration.NotificationProperties = new DataCacheNotificationProperties(500, TimeSpan.FromSeconds(300));
}
最初はタイムアウト無効化ポリシー(3分)を使用しようとしましたが、アプリはより高速に実行されているように感じました。ただし、管理サイトで何かを変更すると、ライブサイトですぐに更新されることに気付きました。通知ではなくタイムアウトを使用しているため、これはローカルキャッシュが照会されていないことを示しています(または照会されていますが、常に欠落しています)。
cache.GetType()。Nameは「LocalCache」を返すため、ファクトリはローカルキャッシュを作成しました。
開発環境(vs2008からローカルで実行されているasp.netアプリ、別のw2k8マシンで実行されているキャッシュクラスター)のPSで「Get-Cache-StatisticsMyCache」を実行すると、少数のリクエストカウントが表示されます。ただし、本番環境では、リクエスト数が劇的に増加します。
ここでの方法に従って、キャッシュcliebt-serverトラフィックを取得しようとしました... http://blogs.msdn.com/b/appfabriccat/archive/2010/09/20/appfabric-cache-peeking-into-client-amp -server-wcf-communication.aspx ですが、ログファイルには最初のヘッダーしかありませんでした。つまり、logginもありません。
SOやGoogleで何も見つかりません。
何か間違ったことをしましたか?AppFabricの厄介なインストールがありますか?WebPlatformインストーラーを介してインストールしました-私は思いますか?(注:ASp.netを実行しているIISボックスはクラスターにありません-それは単なるクライアントです)。
どんな洞察も大いに受けました!