关于Ninject注入初始化的问题

灰太狼已不再单身 2018-07-17 01:47:28
我对ninject不熟悉,初次使用,我又很多个类,请问怎么最少的代码来初始化注册
解决方案命名空间是:
FlatManage.Repositories.T4IRepositories.MYSQL
FlatManage.Repositories.T4Repositories.MYSQL
以下代码该怎么改?

private static void RegisterRepositorys(IKernel kernel)
{
//kernel.Load(Assembly.GetExecutingAssembly(), typeof(CustomNinjectModule).Assembly);
kernel.Bind<IUserRepository>().To<UserRepository>().InRequestScope();
kernel.Bind<IFunctionRepository>().To<FunctionRepository>().InRequestScope();
kernel.Bind<ITargetCompleteRepository>().To<TargetCompleteRepository>().InRequestScope();
kernel.Bind<IFmCategoryRepository>().To<FmCategoryRepository>().InRequestScope();
kernel.Bind<IFmCityRepository>().To<FmCityRepository>().InRequestScope();
kernel.Bind<IFmDepartmentRepository>().To<FmDepartmentRepository>().InRequestScope();
kernel.Bind<IFmFunctionRepository>().To<FmFunctionRepository>().InRequestScope();
kernel.Bind<IFmKpiItemRepository>().To<FmKpiItemRepository>().InRequestScope();
kernel.Bind<IFmKpiRepository>().To<FmKpiRepository>().InRequestScope();
kernel.Bind<IFmKpiValueRepository>().To<FmKpiValueRepository>().InRequestScope();
kernel.Bind<IFmKpiWorklistRepository>().To<FmKpiWorklistRepository>().InRequestScope();
kernel.Bind<IFmRoleFunctionRepository>().To<FmRoleFunctionRepository>().InRequestScope();
kernel.Bind<IFmRoleRepository>().To<FmRoleRepository>().InRequestScope();
kernel.Bind<IFmSpecialtyRepository>().To<FmSpecialtyRepository>().InRequestScope();
kernel.Bind<IFmSyslogRepository>().To<FmSyslogRepository>().InRequestScope();
kernel.Bind<IFmUserChannelRepository>().To<FmUserChannelRepository>().InRequestScope();
kernel.Bind<IFmUserRepository>().To<FmUserRepository>().InRequestScope();
kernel.Bind<IFmUserRoleRepository>().To<FmUserRoleRepository>().InRequestScope();
}
...全文
229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没人看见这问题
  • 打赏
  • 举报
回复
看来回答问题的人太少了
sdfgrtyu 2018-07-17
  • 打赏
  • 举报
回复
Default interface in this scenario means that if your interface is named IService, then the class named Service will be binded to it. However, the class SqlBasedService will not be binded and will fail to retrieve the implementation.
  • 打赏
  • 举报
回复
我最开始考虑这样来写,就是我注释了的那段代码,但是,有问题,说model重复初始化了

public class CustomNinjectModule : NinjectModule
{
public override void Load()
{
Kernel.Bind(
d =>
d.FromAssemblyContaining()
.SelectAllClasses()
.BindDefaultInterface()
.Configure(x => x.InRequestScope()));
}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧