如果MVC3应用程序(示例项目名称 - SuperApp.Web)依赖于驻留在单独程序集(SuperApp.Core)中的业务逻辑,IoC容器初始化是否仍在网站项目的代码中进行?
我知道网站实际上是一个应用程序,并且初始化控件被传递给它,但是如果.Core项目的依赖项将在其中得到解决,那么它将更合乎逻辑,它具有自己的IoC容器库参考
我特别使用Ninject,到目前为止,我已经看到在Application“Start”方法中使用WebActivator完成所有初始化。一个站点项目是否可以免费使用IoC,让BL dll弄清楚它将要使用的是什么?
答案 0 :(得分:1)
您可以考虑的一件事是在Core项目中创建一个ninject模块,其绑定直接与核心相关。但是,您仍然需要在正在运行的应用程序中注册此模块,因此,如果不管理DI容器,则无法运行站点项目。这是因为您需要在控制器构造中插入DI