在需要不同配置集的场景中,如何最好地管理DI容器的配置?有没有人可以给我一些很好的文档/代码示例?
我们有一个分层的、分布式的应用程序,它有多个入口点(例如:网站、winforms应用程序、办公插件等)。根据您使用解决方案的方式(例如,通过UI与自动化工作流),需要对其进行稍微不同的配置。
我们使用的是Windsor,它的流畅的配置功能。
发布于 2010-03-09 20:50:50
您应该为每个应用程序配置一个容器,因此在该级别上,您必须为每个应用程序分别配置每个容器。
然而,拥有一系列应用程序的公共基础配置是一个正常的需求,大多数DI容器通过提供一种可以打包配置的方式来支持这一点。
在Castle Windsor中,您可以通过定义一个或多个实现IWindsorInstaller接口的类来实现。
示例:
public class MyWindsorInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddComponent<IFoo, Foo>();
// etc.
}
}发布于 2010-03-12 02:16:38
我们通过使用XML配置文件来支持“多配置”的情况。如果您已经准备好放弃流畅的配置,那么XML配置文件集非常易于管理和部署。
https://stackoverflow.com/questions/2409039
复制相似问题