我有一个静态类来设置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方法中处理容器?
答案 0 :(得分:3)
在这种情况下,您不需要调用它,因为AutofacWebApiDependencyResolver
已经是IDisposable并且接收容器作为依赖项。当您处置AutofacWebApiDependencyResolver
AutofacWebApiDependencyResolver将由系统自动处理,因为Configuration中的HttpConfiguration对象已经将其处理掉。
希望它有所帮助。