当我在本地运行MVC 5站点时,我想使用这些 ninject绑定。当我在azure上的生产中运行它时,我想使用那些绑定(除了几个不同的绑定之外几乎相同)。
我该如何检测这个,这个条件代码应该去哪里?
答案 0 :(得分:1)
为了防止您必须为每个环境分别设置编译,您应该从web.config
驱动DI配置。这样就可以打开一次编译门,随处部署策略。
<appSettings>
<add key="UseSpecialDI" value="true" />
</appSettings>
在您的DI配置中:
bool useSpecialDI = ConfigurationManager.AppSettings["UseSpecialDI"].ToLower() == "true";
if (useSpecialDI)
{
// Use "those settings"
}
else
{
// Use "these settings"
}
与您的DI配置非常相似,最好使用细粒度的配置设置来执行特定的操作,而不是广泛的设置来更改DI配置的大块。