3

IServiceいくつかのコンポーネントが依存しているサービスがあります。コンポーネントは、ユーザーのアクションに応じて行き来します。

の実装にIServiceはコストがかかることがあり、すべてのコンポーネントで 1 つのインスタンスを共有したいと考えています。これまでのところ、私は使用できます:

builder.RegisterType<ExpensiveStuff>().As<IService>().SingleInstance();

ExpensiveStuffしかし、一度建てたら永遠に住みたくありません。1 つ以上のコンポーネントがそれへの参照を保持している場合にのみ、それを存在させたいと考えています。

Autofac でこれを達成する組み込みの手段はありますか?

4

1 に答える 1

1

これらの依存関係の使用がインスタンス スコープ内で発生することを確認する必要があると思います。

オーチャード プロジェクトは、ここでのインスピレーションの源になる可能性があります。Unit of Work の一連のスコープを使用します。ソースファイルを参照してくださいShellContainerFactory.cs

于 2012-08-10T16:55:19.693 に答える