【发布时间】:2011-11-25 14:04:57
【问题描述】:
这就是我想用 Structuremap 完成的任务。
在我们每次请求时,我们客户端中使用的数据库连接字符串和 Web 服务 url 都会根据某些业务逻辑而有所不同。目前,我们的 sql 和 Web 服务客户端实现在其构造函数中接收配置。
我想使用配置文件,却发现无法按请求使用它们。
在我们的团队中,我们正在就两种解决方案进行辩论:
1-将配置工厂传递到可以解析要使用的配置的注册表中
当容器需要实例化某些东西时。
- 我看到的问题是我们可能不得不使用 HttpContext.Items,因为大多数应用程序对象都没有在结构映射中实例化,而且似乎很难从工厂中获取当前的请求上下文。
2- 为每个不同的配置实例化容器,并根据业务逻辑决定使用哪个容器。
- 我看到的问题是加载时间、内存消耗以及对象的生命周期。所以,我在这里似乎没有发现任何真正的问题,我觉得拥有多个容器是不对的。
1-您是否看到其他问题?
2- 有更好的主意吗?
3- 你会选择哪一个?
谢谢
编辑
而且似乎很难从工厂中获取当前的请求上下文。
我不是指HttpContext,我指的是请求数据。对于这个应用,它是一个 wcf 请求对象。
【问题讨论】:
-
只有配置值不同吗?或者您是否需要根据 Web 请求更改实现类?
标签: inversion-of-control ioc-container structuremap