属性 使用 Autofac 注入

Property Injection with Autofac

我想使用 Autofac 进行 属性 注射。这是我的设置:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var builder = new ContainerBuilder();

        builder.RegisterControllers(typeof(MvcApplication).Assembly);

        builder.RegisterType<TeamManagerContext>().PropertiesAutowired();

        var container = builder.Build();
        DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

        app.UseAutofacMiddleware(container);
        app.UseAutofacMvc();

        ConfigureAuth(app);
    }
}

基地控制器:

public class BaseController : Controller
{
    /// <summary>
    /// Application DB context
    /// </summary>
    public TeamManagerContext TeamManagerContext { get; set; }
}

TeamManagerContext 始终为 null(从不注入)。我花了很多时间在网上查看,但没有进一步说明可能出了什么问题。

有什么想法吗?

您在 TeamManagerContext 本身中有自动连接的属性,但没有告诉控制器注册它们有自动连接的属性,您试过了吗:

builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired();