Dependency injection 在具有多个不同配置的企业解决方案中使用依赖项注入容器
有谁能告诉我一些好的文档/代码示例,在需要不同配置集的场景中,如何最好地管理DI容器的配置 我们有一个分层的分布式应用程序,它有多个入口点(即:网站、winforms应用程序、office插件等)。根据您使用解决方案的方式(例如,通过UI和自动化工作流),需要对其进行稍微不同的配置Dependency injection 在具有多个不同配置的企业解决方案中使用依赖项注入容器,dependency-injection,castle-windsor,Dependency Injection,Castle Windsor,有谁能告诉我一些好的文档/代码示例,在需要不同配置集的场景中,如何最好地管理DI容器的配置 我们有一个分层的分布式应用程序,它有多个入口点(即:网站、winforms应用程序、office插件等)。根据您使用解决方案的方式(例如,通过UI和自动化工作流),需要对其进行稍微不同的配置 我们正在使用Windsor,它具有流畅的配置功能。每个应用程序都应该有一个容器,因此在该级别上,您必须为每个应用程序分别配置每个容器 然而,为一系列应用程序提供一个公共的基本配置是一个正常的需求,大多数DI容器通过提
我们正在使用Windsor,它具有流畅的配置功能。每个应用程序都应该有一个容器,因此在该级别上,您必须为每个应用程序分别配置每个容器 然而,为一系列应用程序提供一个公共的基本配置是一个正常的需求,大多数DI容器通过提供一种打包配置的方式来支持这一需求 在Castle Windsor中,您可以通过定义一个或多个实现接口的类来实现这一点 例如:
public class MyWindsorInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddComponent<IFoo, Foo>();
// etc.
}
}
公共类MyWindsorInstaller:IWindsorInstaller
{
public void安装(IWindsorContainer、IConfigurationStore)
{
container.AddComponent();
//等等。
}
}
每个应用程序应该有一个容器,因此在这个级别上,您必须分别为每个应用程序配置每个容器
然而,为一系列应用程序提供一个公共的基本配置是一个正常的需求,大多数DI容器通过提供一种打包配置的方式来支持这一需求
在Castle Windsor中,您可以通过定义一个或多个实现接口的类来实现这一点
例如:
public class MyWindsorInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddComponent<IFoo, Foo>();
// etc.
}
}
公共类MyWindsorInstaller:IWindsorInstaller
{
public void安装(IWindsorContainer、IConfigurationStore)
{
container.AddComponent();
//等等。
}
}
我们使用XML配置文件支持“多配置”情况。如果您准备放弃fluent配置,那么XML配置文件集的管理和部署非常简单。我们使用XML配置文件支持“多配置”情况。如果您已经准备好放弃流畅的配置,那么XML配置文件集的管理和部署将非常简单。目前为止,我们最有希望的解决方案似乎是将iIndorInstaller的使用与MEF结合起来->目前为止,我们最有希望的解决方案似乎是将iIndorInstaller的使用与MEF结合起来->