問題タブ [appfabric-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2967 参照

wcf - 複数のクライアントからの App Fabric Cache へのアクセス

複数のホストで Web サイトをセットアップしようとしていますが、これらのアプリケーションは App Fabric Caching フレームワークを利用しています。

Machine1で(XML ではなく) SQL Server を使用して App Fabric をセットアップし、「NT Authority\Network Service」ユーザーを使用して App Fabric を構成しました。「ネットワークサービス」をアプリケーションプールIDとして設定して、同じマシンにWebサイトをセットアップしました。「grant-CacheAllowedClientAccount」コマンドを使用して、「ネットワーク サービス」ユーザーにキャッシュ ストアへのアクセス許可を付与しました。Web サイトは正常に機能し、データをキャッシュに追加/編集/削除できます。すべてがスムーズに実行されます。

ただし、まったく同じ IIS およびアプリケーション プール設定を使用して別のマシン ( Machine2 ) で同じアプリケーションをホストしようとすると、アプリケーションは次のエラーで失敗します。

一時的な障害があります。後で再試行してください。(指定された 1 つ以上のキャッシュ サーバーが使用できません。これは、ネットワークまたはサーバーのビジー状態が原因である可能性があります。オンプレミスのキャッシュ クラスターの場合は、次の条件も確認してください。このクライアント アカウントにセキュリティ アクセス許可が付与されていることを確認し、AppFabric Caching Service は、すべてのキャッシュ ホストでファイアウォールを介して許可されます。また、サーバーの MaxBufferSize は、クライアントから送信されたシリアル化されたオブジェクトのサイズ以上である必要があります。)

全員に権限を付与すると、問題なく動作しますが、それは優れた解決策ではありません。

両方のマシンがドメインに常駐しています。

これについて何か意見をいただけませんか?

0 投票する
1 に答える
1202 参照

.net - AppFabric キャッシュは、キャッシュされたアイテムが取得されると有効期限を更新しますか?

項目がキャッシュに入れられると、タイムアウトが割り当てられます (Put() の呼び出しによって明示的に、またはキャッシュ構成から暗示されます)。取得した各アイテムの有効期限を更新/リセットしたい [Get() を呼び出す]。

アイテムを明示的に配置/更新する必要がありますか?それとも、有効期限が自動的に Now + timeout に更新されますか?

==更新==

ResetObjectTimeout() メソッドを呼び出す必要があるという意図があるようです。ドキュメントには、有効期限の更新ロジックに関する他の言及はありません。

==更新2 ==

簡単なテスト/実験では、ResetObjectTimeout() は Put() を使用したのと同じくらい多くのネットワーク トラフィックを生成したため、タイムアウトを更新するためだけにエントリ全体がネットワーク経由で伝達されているようです。アイテムごとに異なる量のデータでこれを試してみたところ、新しいアイテムを追加していないにもかかわらず、データ量に応じてトラフィック レベルが実際に上昇しました。

タイムアウトを更新する理由は、キャッシュ アイテムが最後に使用されてから N 分間キャッシュに残りたいからです。これは非常に一般的な使用パターンになると思います。実装するには、取得操作ごとにネットワーク経由ですべてのデータを再送信する必要があります。これにより、キャッシュを使用する利点が大幅に減少します。たとえば、スケーラビリティとパフォーマンスが制限されます。

0 投票する
2 に答える
187 参照

c#-4.0 - App Fabric:GETがEnumプロパティを見逃している間

CollectionDataContract列挙型メンバーを持つとしてマークされたクラスがあります。このクラスのオブジェクトをAppfabricに配置すると、完了です。Appファブリックから取得すると、列挙型メンバーが逆シリアル化されません。しかし、シリアル化の部分自体で列挙型が欠落しているかどうかはわかりません。

助けてください。

さらに詳しい情報が必要な場合はお知らせください。

ありがとう。

LogicalOperator列挙型はどこですか

0 投票する
1 に答える
1901 参照

c# - Windows AppFabricサービスが実行されているか、プログラムで実行されていないかを識別する方法は?

Windows Server AppFabricキャッシングサービスがプログラムで稼働しているかどうかを確認する方法を知っている人はいますか?

AppFabricサービスがダウンしている場合、例外がスローされます。これは非常にコストのかかるプロセスであるため、AppFabricからキャッシュオブジェクトを作成する前に、サービスが稼働しているかどうかを確認する必要があります。

つまり、AppFabricが実行されている場合にのみ、キャッシュサービスとしてAppFabricを使用します。それ以外の場合は、System.Webキャッシュを使用します。

例:

0 投票する
1 に答える
482 参照

appfabric - Windows Server AppFabric キャッシュ タイムアウト ベースの無効化コールバック

ローカル キャッシュを有効にして、アプリケーションで Windows Server AppFabric キャッシュを使用しています。これは次のように構成されます。

タイムアウト間隔が 120 秒のタイムアウト ベースの無効化をセットアップしました。この構成に従って、ローカル キャッシュは 120 秒ごとにメモリ内キャッシュからアイテムを削除し、キャッシュ クラスターからアイテムを取得します。ローカル キャッシュがアイテムをローカルで取得する代わりに、キャッシュ クラスターをヒットしてアイテムを取得しようとするたびに発生するコールバックを追加することは可能ですか?

0 投票する
1 に答える
1447 参照

.net - .net プロジェクトから AppFabric Cache クライアント アセンブリ参照を定義する正しい方法は?

必要な AppFabric キャッシュ クライアント側コードは、クライアント インストールの一部である次の 2 つのアセンブリを参照します。

Visual Studio 2010 でこれらの参照を定義すると、ビルド時にアセンブリがプロジェクトの bin フォルダーにコピーされ、その後、バイナリと共に再配布されます。ただし、AppFabric キャッシュの EULA では、再配布の権利について明示的に言及していないため、法的にはこれらのファイルを再配布することはできません。これが意図されたものかどうかはわかりませんが、古い、または AppFabric キャッシュと互換性がない再配布されたアセンブリを使用するよりも、クライアントがインストール時に自分で AppFabric キャッシュを取得してインストールすることをお勧めします。クラスタ (たとえば、別のバージョンを使用している場合)。

ただし、AppFabric キャッシュ インストーラーはパッケージ化されたアセンブリを GAC に配置しないため、コードがそれらを参照できるようにするには、クライアント/顧客がこれを行う必要があります。アセンブリはその場で (\Program Files\ で) 参照できません。 AppFabric 1.1 for Windows Server) を明示的に参照して特定のパスからアセンブリを読み込む場合を除きますが、これは珍しいことです。

私の質問は、これらのアセンブリを参照するための意図された使用パターンは何ですか? それらは実際に再配布可能であると想定されているのでしょうか?それとも、顧客はそれらを GAC に配置する必要があるのでしょうか?それとも他のオプションはありますか?

0 投票する
1 に答える
1093 参照

asp.net - ASP.Net セッション状態の AppFabric キャッシュ プロバイダーはバッキング ストアを許可しますか?

AppFabric キャッシュは、キャッシュ クラスター ノードに RAM の負荷がかかっている場合、またはクラスターが高可用性モードではなく、ノードが失われた場合 (障害や再起動など)、セッション状態を失う可能性があります。

通常、このような状況ではバッキング ストアを使用して、キャッシュ ミスが発生した場合にキャッシュ エントリを再作成できるようにします (結局はキャッシュです)。AppFabric キャッシュ ASP.NET セッション状態プロバイダーは、たとえば、従来のセッション状態プロバイダーの 1 つにレイヤーを形成することによって、バッキング ストアを許可しますか? (ASP.NET State Service、または SQL Server ベースのプロバイダーなど)。

ノート。

構成ドキュメントにはそのようなことについての言及はありません:

0 投票する
1 に答える
488 参照

c# - Appfabricキャッシュが更新されない-sharedIdの使用

App fabric cacheセッションプロバイダーとして使用した分散セッションメンテナンス用に、ネットワークロードバランサーによって制御されるWebアプリケーション(x)をホストする4つのWebサーバーを含むWebファームがあります。

リージョンが作成されたキャッシュサーバーを1つだけ使用します。

私の構成には、リージョン名と共有アプリIDが含まれています。これは、ファーム全体でホストされているすべてのWebアプリ(x)で同じです。

ただし、IPを使用してWebアプリにアクセスすると、すべてのセッションが異なります。

このシナリオでのsharedIdの使用は何ですか?私の意図は、パフォーマンスのためにアプリが複数のサーバーでホストされているにもかかわらず、単一のセッションを維持することです。

主な問題は、キャッシュが正常に動作しないことです。変更後1〜2分でもセッション値が更新されない場合があります

私のweb.config設定

0 投票する
0 に答える
290 参照

asp.net - appfabric キャッシュ失敗の例外 = セッション状態の getandlock 要求

3 つのホスト appfabric クラスターを使用して、asp.net アプリでセッション プロバイダーを使用しています。クラスタはバージョン 3 で、Windows Server 2008 で実行されています。私のセッション クラスタでは、セカンダリが 1 に設定され、最小セカンダリが 0 に設定されています。

キャッシュの統計を見ると、ミス カウント カテゴリに非常に大きな (不均衡な) 数値があることに気付きました。実際、リクエスト数のカテゴリとほぼ同じです。そこで、パフォーマンス カウンターを調べて、セッション プロバイダーがオブジェクトを正しく保持できないように見える理由、またはオブジェクトが失われ続ける理由を突き止めることにしました。

私が見つけたのは、getandlocks/sec が失敗の例外/秒カウンターと同一であるということでした。また、スタッフによって生成されるトラフィックが非常に多いことを考えると、これは正常ではありません。オブジェクトの数は多くありませんが、拒否率は、そこから出てくるはずのオブジェクトの数よりも明らかにはるかに高くなっています。セッションにそれほど多くの情報を書き込んだり変更したりしていません。ほとんどの場合、変更はありませんが、ユーザーが作成できるよりもはるかに多くのリクエストを取得していることは明らかです。

どんな助けでも大歓迎です。

PS。理想的には、これらの失敗の例外が何を言っているのか知りたいのですが、それらをキャプチャする方法はないようです。