5

我希望我的应用程序始终将服务用作单例,如何将 Ninject 设置为默认使用单例范围。我使用约定来注册我的类型,我需要使用 Bind<> 方法吗?

4

1 回答 1

8

Hy,假设您的所有服务都从您那里继承,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 回答