我有一个 asp.net mvc 4 应用程序,它使用由 autofac 解析的简单依赖项。在这种情况下,依赖项是一个 IEmailSender,我想根据开发、测试和生产构建来改变它的实现。例如,开发(调试)构建将使用一种实现发送电子邮件,但生产使用说亚马逊 SES 来发送电子邮件。
根据环境改变 global.asax 文件中的容器依赖项的最佳实践方法是什么?我知道我可以将 web.config 转换与 web deploy 一起使用,然后读取 web.config 值以确定环境,然后根据环境“切换”构建配置,但也许有更好的方法?