MEF についていくつかの調査を行った後、MSDN によるとCreationPolicy.Sharedプロパティに出会いました。
関連付けられた ComposablePart の単一の共有インスタンスが CompositionContainer によって作成され、すべてのリクエスターによって共有されることを指定します。
このポリシーを使用してエクスポートするクラスにアクセスするコンテナーが 1 つだけであることを常に確認している限り、これは良いことのように思えます。では、エクスポートされた型に 1 つのコンテナーのみがアクセスするようにするにはどうすればよいでしょうか? これが私のシナリオです:
メモリ内データ用にシングルトンのようなクラスを利用する必要がある Windows サービスがあります。データは永続的ではないため、サービスが開始されるたびに新しく作成されるようにしたいのですが、サービスが停止すると何の役にも立ちません。私のサービスの複数のスレッドは、スレッド セーフな方法でこのオブジェクトを読み書きする必要があるため、最初の計画では、ConcurrentDictionaryから継承して、それに対するスレッド セーフな操作を保証することでした。
このクラスを利用するスレッドはすべて単一の抽象基本クラスから継承するため、このクラス (およびこのクラスのみ) を MEF からインポートして、希望どおりに動作させる方法はありますか?
あなたが持っているかもしれないヒントをありがとう、私はMEFに慣れていないので、私はまだインとアウトを学んでいます