潜伏了几个月,决定提出一个问题。总的来说,我对温莎和国际奥委会非常陌生。我可以让 Windsor 毫无问题地使用我的 MVC2 项目。我正在从事的项目是使用新区域概念的一个 MVC2 项目下的多个应用程序的“门户”。在这种情况下,每个区域实际上将是“门户”内的一个单独的应用程序。我们这样做是为了有效地共享大量通用代码、视图、身份验证和跨应用程序功能。我们的许多应用程序相互链接,因此在讨论后将它们组合成一个项目是有意义的。
我想知道如何做实际上是允许不同的区域注入不同的具体类?在我有限的理解中,Application_Start 负责构建容器并将其分配为控制器工厂。我不一定想在应用程序级别进行所有注入。我们有一个配置系统,在每个区域的根目录下都有一个 config.xml,这些设置会覆盖任何根设置。我想通过让区域的 config.xml 读取每个区域的注入来继续这种趋势(类似于 Webforms web.config 的继承,其中较低文件夹中的配置覆盖父文件夹中的设置)。
示例:我将有一个 ILogHandler 需要不同的具体实现,具体取决于我所在的应用程序的哪个区域。所以我需要根据我在应用程序中的位置注入不同的东西。
我可以使用工厂轻松做到这一点,因为每个区域都可以拥有自己的一组工厂,但我正试图借此机会了解 IoC 以及优点/缺点是什么。任何帮助,将不胜感激。