ウィンザーインタセプタのAOP&キャッシュ
-
01-07-2019 - |
質問
私は考えてウィンザー城、インタセプタをキャッシュデータをスケーリングasp.net サイトです。
いての思想/経験か?
未解明:私の意図した使用ウィンザーへの切片'高価な"通話に処理を移譲するMemCacheDや速度(または他の分散型キャッシュ)のキャッシングそのものです。
解決
ってキャッシュデコレータ(インタセプタ)とウィンザーにあたっています。
インタセプタは、良いこともに、 この ります。
他のヒント
こんにちはが使用しています城ウィンザーインタセプタに基づき、この記事: http://www.davidhayden.com/blog/dave/archive/2007/03/14/CastleWindsorAOPPolicyInjectionApplicationBlock.aspx します。
この全体のものも簡単で非常にエレガントなAOP.しかし....
注意のものです。を遮断作動的プロキシとも遅いものです。当社のベンチマーク用ノード500算農場で会いましたパフォーマンス低下の約30%を使用遮断ウィンザーには、これ以外、私は内部の遮断しても基本的にロギングメソッドの呼び出し、paramsに渡された当社のmethdods).けを削除し遮断速のアプリです
くまなく高価な通話 本当に 高価です。:)いただいているキャッシュに異なるレベルでの実施により、IRepositoryタイプのパターンを裏付ける様々なキャッシュ戦略が適しています。
とともに、
--
マタイ
すごーくの実施お客様のデータにアクセス?の場合ご使用の設定によりどちらのモ、私はあなたがキャッシュです。設定によりどちらのモ付属のキャッシュのための戦略ます。純内蔵キャッシュ-memcached(NMemcachD)および速度です。に使用しましたmemcached extensivlyのための企業のハイレベルなアプリケーションといった問題です。
るintercepterに基づくキャッシュ機構が、面白いアイディアが、まだ考えます。おもいやすい透過的に適用されます。に思い思いのAOP機能の城でのプロキシ基を継続してご利用いただけが汚染されるコード付属性です。
いの Microsoft速度.する予定がある場合の作業の申請、これまでのソリューション
してオープンソースプロジェクト名 cachew.castlewindsor るキャッシュインタセプタ.で汎用的な解決のためのキャッシュ.
ここでは、簡単な利用事例:
var container = new WindsorContainer();
container.Register(Component.For<CacheInterceptor>()
.Instance(new CacheInterceptor(new Cache(TimeoutStyle.RenewTimoutOnQuery, TimeSpan.FromSeconds(3)))));
container.Register(Component.For<IServer>().ImplementedBy<Server>().Interceptors<CacheInterceptor>());
デフォルトの動作はキャッシュのすべてのメソッドが取得し、データを返しますが、変更もできますか接頭辞をします。
のプロジェクトはnuget:http://www.nuget.org/packages/Cachew.CastleWindsor/
のソースコードで見ることができます:https://github.com/kobbikobb/Cachew
ウィンザーは素晴らしいですけど、なぜ使用するためのキャッシュがいつかの方法でキャッシュデータです。ウィンザーには財団その他の地域は必ずしもキャッシュ.キャッシュからオブジェクトセッションクッキー。は多くあります。この大型のアプリケーションエー分散キャッシュ.MSはうするんだ"ということをずっとやり仲の良いカップルベンダーあるい製品を市場投入します。