我希望我的应用程序始终将服务用作单例,如何设置Ninject默认使用单例作用域。我使用约定来注册我的类型,我是否需要使用Bind<>方法
答案 0 :(得分:8)
HY,
假设您的所有服务都从IService
继承,您可以编写以下内容
添加以下使用声明
using Ninject.Extensions.Conventions;
使用
之类的约定kernel.Bind( x => x
.FromThisAssembly()
.SelectAllClasses().InheritedFrom<IService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));
您可能需要稍微调整一下以满足您的需求。