如何处理Autofac容器?

时间:2014-11-10 08:04:03

标签: c# asp.net-web-api autofac

我有一个静态类来设置Autofac注册,它的方法在Application_Start中调用。像这样:

public static class RegisterAutofac
{
    public static void Setup()
    {
        var config = GlobalConfiguration.Configuration;
        var builder = new ContainerBuilder();

        //Do registration here...

        var container = builder.Build();
        var resolver = new AutofacWebApiDependencyResolver(container);

        GlobalConfiguration.Configuration.DependencyResolver = resolver;
    }
}

到目前为止,我还没有找到处理容器的示例。

这是否足够或者我应该返回容器然后在Global.asax中的Dispose方法中处理容器?

1 个答案:

答案 0 :(得分:3)

在这种情况下,您不需要调用它,因为AutofacWebApiDependencyResolver已经是IDisposable并且接收容器作为依赖项。当您处置AutofacWebApiDependencyResolver

时,它会调用Dispose

AutofacWebApiDependencyResolver将由系统自动处理,因为Configuration中的HttpConfiguration对象已经将其处理掉。

希望它有所帮助。