WebApi控制器

时间:2012-06-26 16:21:49

标签: asp.net-web-api autofac

我尝试将autofac集成到webapi中,但我遇到问题才能使其正常工作。 我的控制器构造函数签名是:

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的任务,在我的情况下注入容器。我该如何解决我的问题?

谢谢,

1 个答案:

答案 0 :(得分:2)

我找到了我的问题。

将此行更新为

builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); 

将问题排序。