4

次のプロパティを使用して、Autofac にファクトリ コンポーネントを登録できるようにしたいと考えています。

  1. ファクトリはパラメーター (この場合は文字列) を受け取り、その文字列に特に関連するコンポーネント インスタンスを返す必要があります。
  2. コンポーネントの有効期間は InstancePerLifetimeScope でなければなりません
  3. #2 の含意は、特定のパラメータ値を持つファクトリへの 2 回目の呼び出しが、存続期間スコープ内で同じコンポーネント インスタンスを返すことです。

作成された名前とコンポーネント インスタンスのディクショナリを維持しながら、ライフタイム スコープ内で「ネーム レジストリ」として機能するコードを作成することで、これを実現することができました。これは機能しますが、autofac 登録マジックを使用してこれを行う方法があるのではないかと思いますが、まだ解読していません。何か案は?

ありがとう!

4

1 に答える 1

3

Autofac Named and Keyed Servicesが必要なようです。

于 2012-05-10T17:11:52.950 に答える