3

Ninject フォーラムに投稿しましたが、何の回答も得られませんでした。

http://groups.google.com/group/ninject/browse_thread/thread/9ac79d5541f015cb

Windows サービスにはいくつかの異なるワークフローがあり、これらのワークフローはいくつかの依存関係を共有しています。複数のスコープを定義してから、そのスコープにバインドしたいと思います。それぞれが異なるスコープを持つ複数のバインディングを作成すると、基本的にバインディングが重複していることを示す例外が発生します。これを行うための好ましい方法はありますか?

ありがとう!

4

1 に答える 1

3

スコープは、どのバインディングをいつ使用するかではなく、ライフサイクルを定義します。条件付きバインディングを使用して、いつどのタイプを使用するかを伝えます。たとえば、親バインディングに名前を追加し、WhenParentNamed または WhenAnyAnchestorNamed を使用して、どのバインディングを使用するかを指示します。

複数のバインディングを持つ唯一の理由が異なるスコープ名を持っている場合は、代わりに同じスコープ名を使用することを検討してください。それらが異なっている必要はありません。たとえば、複数のコントローラーがある場合、それらはすべてコントローラーのスコープを定義できます。

于 2012-05-08T17:33:42.020 に答える