0

我尝试为 webapi 集成 autofac,但无法使其正常工作。我的控制器构造函数签名是:

public class AController: ApiController
{
  public AController(IComponentContext componentContext)
  {}
}

在我的 global.asax 文件中,我在 Application_Start 中调用了以下代码

protected void Application_Start()
{
   var builder = new ContainerBuilder();
   builder.RegisterApiControllers();
   container = builder.Build();
   var resolver = new AutofacWebApiDependencyResolver(container);
   GlobalConfiguration.Configuration.DependencyResolver = resolver;

}

当我尝试运行我的应用程序并访问我的资源“/api/A”时,服务器返回错误 500,抱怨控制器没有默认构造函数。我虽然这是 AutofacWebApiDependencyResolver 在我的情况下注入容器的任务。我该如何解决我的问题?

谢谢,

4

1 回答 1

2

我找到了我的问题。

将此行更新为

builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); 

解决问题。

于 2012-06-26T17:53:30.067 回答