属性 使用 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();
我想使用 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();