回到使用StructureMap 2.6时,我能够通过将其设置PullConfigurationFromAppConfig
为TRUE从配置中提取配置数据。这有助于使我根据构建配置覆盖实例。
在最新版本中,似乎不再存在。我该如何通过配置文件指定自定义实例,特别是web.config
(我目前正在基于构建配置进行转换的地方)。这可能吗?是否有另一个IoC框架支持这一点?谢谢。
XML支持已从大多数DI容器中删除,因为它被认为是配置容器的过时方法。XML非常脆弱,并且没有编译时类型检查,因此通常比使用它配置应用程序更麻烦。
即使找到了现在支持XML的DI容器,将来也不太可能支持它。
当然,解决此问题的方法是为用例添加所需的许多条件配置设置。例如,您可以使用类似
<appSettings>
<add key="DIConfig" value="Test" />
<!--<add key="DIConfig" value="Production" />-->
</appSettings>
然后在你的合成根中使用类似
if (ConfigurationManager.AppSettings["DIConfig"] == "Test")
{
// load test configuration
}
else if (ConfigurationManager.AppSettings["DIConfig"] == "Production")
{
// load production configuration
}
如果需要,可以进行更多的配置文件设置(甚至是自己的config部分),以使配置更加精细。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句