3

我刚刚开始使用带有 ASP.NET MVC 2 的 Ninject 2.0。所以,我有一个接口 IMongoRepository 和类 MongoRepository。

MongoRepository 接收参数字符串集合。

根据我要使用的集合,我在 MongoRepository 的参数中传入不同的值。我希望我的措辞正确,但是如何根据我使用的控制器映射不同的参数?

例如,在 Article 控制器中,我会调用:

_articlesRepository = new MongoRepository("Articles");

在 PageController 我会调用:

_pagesController = new MongoRepository("Pages");

我想做的只是进行构造函数注入并传入 IMongoRepository。有什么想法或建议吗?

顺便说一句,我只是在学习 IOC/DI;所以,我愿意接受国际奥委会忍者的任何提示!谢谢!

4

1 回答 1

11

尝试以下操作:

Bind<IMongoRepository>().To<MongoRepository>().WhenInjectedInto<ArticleController>().WithConstructorArgument("topic", "Article");
Bind<IMongoRepository>().To<MongoRepository>().WhenInjectedInto<PagesController>().WithConstructorArgument("topic", "Pages");

假设构造函数的参数被调用topic

于 2010-09-15T15:57:41.447 回答