Autofac 属性注入的方式

方法1:

var builder = new ContainerBuilder();//容器生成器

builder.RegisterType<GF.BLL.BaseBLL>();
builder.Register(c => new GF.UI.Web.Controllers.HomeController()).OnActivated(e => e.Instance.BaseBLL = e.Context.Resolve<GF.BLL.BaseBLL>());//在HomeController 里面注册IBaseBll= basebLL

//创建容器并注册到MVC中
IContainer container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
//--------------------------------------------------------------

方法2:

var builder = new ContainerBuilder();//容器生成器

builder.RegisterType<GF.BLL.BaseBLL>().As<GF.IBLL.IBaseBLL>();
builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired();

//创建容器并注册到MVC中
IContainer container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
//--------------------------------------------------------------

posted @ 2017-03-31 10:07  金泽夕  阅读(384)  评论(0编辑  收藏  举报