AutoFac Controller没有默认构造函数

som*_*ame 5 c# autofac asp.net-web-api

嗨,我想从Ninject切换到AutoFac,但我遇到了一些问题.错误是:

Controllers.API.Basic.AddressController'没有默认构造函数

我在启动时注册了这个:

var builder = new ContainerBuilder();
builder.RegisterControllers(Assembly.GetExecutingAssembly());
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

builder.RegisterType<AddressRepository>().As<IBaseRepository<Address>>();

builder.RegisterAssemblyModules(Assembly.GetExecutingAssembly());

IContainer container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

public class AddressController : GenericBaseController<Address>
{
    public AddressController(IBaseRepository<Address> repository)
        : base(repository)
    {
    }
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?这适用于Ninject.

som*_*ame 5

找到了:

// Set the dependency resolver for Web API.
var webApiResolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;
Run Code Online (Sandbox Code Playgroud)

我设置它后,它工作