私たちは、約10の異なるWCFサービスと複数のエンドポイントをそれぞれ1つずつ含むプロジェクトを開発しています。サービスの1つは、メモリにキャッシュされたいくつかの大きなテーブルのデータを保持します。WCF:複数のサービス間でキャッシュされたデータを共有する
別のサービスのデータにアクセスする必要があることが判明しました。キャッシュの2つのコピーを保持するのではなく、これらのテーブルをすべてのサービスで共有できるようにしたいと考えています。
私はいくつかの調査を行い、共有データを格納するためにサービスホストに接続されたIExtensionを使用する方法についていくつかの記事を見つけました。
すべてのサービスが同じWebサイトで実行されている場合、それは機能しますか?それは正しいアプローチですか?それとも私は他の場所で見るべきですか?
これは、中規模のエンタープライズアプリケーションです。私はサービスの自律性について同意します。データはもともとはいくつかのサービスからDBから読み込まれることを意図していましたが、パフォーマンス上の懸念から、メモリ内のキャッシュに移動したいのです。データは多くのサービスの「コア」なので、非正統ですが、センス。 –
説明をありがとう。個人的には、私は確かに別のサービスにキャッシュをカプセル化し、サービス間の呼び出しを実装します。私はそれに応じて私の答えを更新します。 – razlebe
すべて正しいですが、すべての点で、あまりにも概略的な視点です。私は、サービスメソッドとセキュリティトークンプロバイダの間でセキュリティトークンの検証(アプリケーションレイヤ上で行う場合)を共有する必要があります(共有する必要があります)有効なトークンリスト)。同じことがロギングに関するもので、ロギングは特別なものです。同じエンタープライズバスを介してログすると、簡単に破棄することができます。 –