C# 使用Autofac 2和命名注册的构造函数注入

C# 使用Autofac 2和命名注册的构造函数注入,c#,autofac,C#,Autofac,我目前正试图删除代码中的一些.Resolve。我一直进展顺利,直到我遇到一个命名的注册,我无法使用该名称获得Autofac解析。要将命名注册注入构造函数,我缺少什么 注册 builder.RegisterType<CentralDataSessionFactory>().Named<IDataSessionFactory>("central").SingleInstance(); builder.RegisterType<ClientDataSessionFacto

我目前正试图删除代码中的一些.Resolve。我一直进展顺利,直到我遇到一个命名的注册,我无法使用该名称获得Autofac解析。要将命名注册注入构造函数,我缺少什么

注册

builder.RegisterType<CentralDataSessionFactory>().Named<IDataSessionFactory>("central").SingleInstance();
builder.RegisterType<ClientDataSessionFactory>().Named<IDataSessionFactory>("client").SingleInstance();
builder.RegisterType<CentralUnitOfWork>().As<ICentralUnitOfWork>().InstancePerDependency();
builder.RegisterType<ClientUnitOfWork>().As<IClientUnitOfWork>().InstancePerDependency();

更改注册以手动执行解决:

builder.Register(c => new CentralUnitOfWork(c.Resolve<IDataSessionFactory>("central")))
   .As<ICentralUnitOfWork>()
   .InstancePerDependency();
builder.Register(c=>newcentralunitofwork(c.Resolve(“central”))
.As()
.InstancePerDependence();

更改注册以手动执行解决:

builder.Register(c => new CentralUnitOfWork(c.Resolve<IDataSessionFactory>("central")))
   .As<ICentralUnitOfWork>()
   .InstancePerDependency();
builder.Register(c=>newcentralunitofwork(c.Resolve(“central”))
.As()
.InstancePerDependence();
builder.Register(c => new CentralUnitOfWork(c.Resolve<IDataSessionFactory>("central")))
   .As<ICentralUnitOfWork>()
   .InstancePerDependency();