5

アプリケーションで常にサービスをシングルトンとして使用するようにしたいのですが、デフォルトでシングルトンスコープを使用するようにNinjectを設定するにはどうすればよいですか。タイプを登録するために規則を使用していますが、Bind <>メソッドを使用する必要がありますか?

4

1 に答える 1

8

こんにちは、すべてのサービスがあなたから継承していると仮定するとIService、次のように書くことができます

次のusingステートメントを追加します

using Ninject.Extensions.Conventions;

次のような規則を使用します

kernel.Bind( x => x
.FromThisAssembly()
.SelectAllClasses().InheritedFrom<IService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));

必要に応じて少し調整する必要があるかもしれません。

于 2012-05-28T10:03:15.277 に答える