【问题标题】:Manage autofac container setup管理 autofac 容器设置
【发布时间】:2010-12-08 00:06:48
【问题描述】:

我的一个团队成员决定在我们的一项服务中使用 autofac,因为我们想尝试一下,所以我们坚持了下来。

现在已经过去了一段时间,容器设置方法已经增长!它太大了,以至于我们遇到了问题。

拆分并没有带来我们想要的结果。也许我们只是用错了。

所以我的问题是:我们如何管理容器设置?我们可以转储到 XML 中还是有任何其他最佳实践?

【问题讨论】:

    标签: inversion-of-control ioc-container autofac


    【解决方案1】:

    有很多方法可以使用 autofac 管理容器设置。

    最常见的方法之一是使用Module 并将其注册到构建器。您可以通过这种方式拆分多组注册:

    public class DALModule : Module
    {
       protected override void Load(ContainerBuilder builder)
       {
          builder.Register<SomeDataSomething>().As<IDataSomething>();  
          builder.Register<SomeOtherSomething( c => SomeOtherSomething.Create());
          //and so on
       }
    }
    

    然后通过代码或 XML 向构建器注册这些分解的模块。 (简单地调用builder.RegisterModule( new DALModule()) 就可以了)。请参阅Structuring with Modules 上的 wiki 页面。

    或者,您可以只使用 XML 文件(或同时使用 XML 和模块)。请参阅XML config 上的 wiki 页面。

    【讨论】:

    • 我无法理解如何在所有这些模块和应用程序之间使用一个共享容器?你能帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2017-07-05
    • 2012-11-24
    • 2012-04-18
    相关资源
    最近更新 更多