私の友人の一人が、サーバー側(WCFサービス)でAppFabricキャッシュを使用したいと考えています。サーバー側のキャッシュにAppFabric + Postsharpを使用することをお勧めします。
しかし、サービスコード間で同様の機能を減らすために、彼はAOP Postsharp + AppFabricキャッシュを使用してデータを「自動的に」キャッシュしたいと考えています。
サーバー側でこのようなスタイルで自動的にキャッシュを使用することをお勧めしますか?
私の友人の一人が、サーバー側(WCFサービス)でAppFabricキャッシュを使用したいと考えています。サーバー側のキャッシュにAppFabric + Postsharpを使用することをお勧めします。
しかし、サービスコード間で同様の機能を減らすために、彼はAOP Postsharp + AppFabricキャッシュを使用してデータを「自動的に」キャッシュしたいと考えています。
サーバー側でこのようなスタイルで自動的にキャッシュを使用することをお勧めしますか?
実際の質問です:あなたのプロジェクトには意味がありますか?アスペクトを使用するメソッドからの出力を自動的にキャッシュすることは許容されます。それはあなたが書いて管理するコードが少なくて済みます。キャッシングは、AOPがどこに来るかというクロスカッティングの問題です。PostSharpは、.NETの世界でも有数のAOPフレームワークです。
キャッシングするコードがあり、それをテストして証明されている場合、それをアスペクトに入れて使用してから再利用してください。ローカルメモリかアプリケーションかどうかは関係ありません。それが意味をなさなければそれをしてください。
コードを手作業で書くのと同じですが、一度だけ書く必要があり、PostSharpがあなたに教えてくれます。
はい、そうです。しかし、多くの場所で再利用されるコードがバグであるか、パフォーマンスが低いというリスクがあるため、特にサーバー/サービスアプリケーションのキャッシュは危険です。また、そのような属性の使用方法を完全には理解していない別の開発者が、この属性を間違った場所で使用するリスクがあります。そして、それは悪いパフォーマンスを引き起こすでしょう。 このような障害は、高負荷サービスアプリケーションにとって非常に重要です。 – Regfor
何をお尋ねしますか? appfabricを使用したキャッシング、またはアスペクトによるキャッシングコードの自動化されたアプリケーション? –
私は、ポストシャープの側面を使って(AppFabricキャッシュに)自動データキャッシングについて質問しています。このようにキャッシュを自動的に処理することが賢明か、コードを使用して手動で処理する方が良いでしょうか? – Regfor