kee*_*eeg 8 c# asp.net-mvc binding ninject
我刚学习Ninject以及如何在MVC情况下实现它.我试图找出设置以下场景的最佳方法/实践.
我有一个团队对象,它将在整个应用程序中重复使用,我需要做的是让Ninject根据请求的来源自动解析绑定.
在我的NinjectController工厂中,我目前有一个服务,可以将团队解析为适当的存储库
Bind<ITeamRepository>().To<SwimTeamRepository>() // non-space characters to enable edit submission
Run Code Online (Sandbox Code Playgroud)
但是如果请求来自SoccerController,我需要绑定:
Bind<ITeamRepository>().To<SoccerTeamRepository>()
Run Code Online (Sandbox Code Playgroud)
如果这是有条件的,建立单独的服务?这里最好的方法是什么?或者我完全离开这里......
Tim*_*ple 12
听起来你可能想要使用上下文绑定.如果这没有帮助,也许你可以重新解释这个问题,这样我就可以更好地了解你正在寻找什么.
这在编辑后更有意义.我不完全确定你的应用程序是如何构建的,但我可能会将ITeamRepository传递给控制器,构造函数看起来像这样.
public SoccerController(ITeamRepository repository)
{
_repository = repository;
}
public SwimmingController(ITeamRepository repository)
{
_repository = repository;
}
Run Code Online (Sandbox Code Playgroud)
然后是绑定:
Bind<ITeamRespository>().To<SoccerRepository>().WhenInjectedInto(typeof(SoccerController));
Bind<ITeamRespository>().To<SwimmingRepository>().WhenInjectedInto(typeof(SwimmingController));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1378 次 |
最近记录: |