当前位置:编程学习 > C#/ASP.NET >>

AutoFac 一个接口注册多个类

注册:
builder.Register(c => new FKContext()).Named<IFKContext>("EF").As<IFKContext>().InstancePerHttpRequest();
            builder.Register(c => new FKCachingContext()).Named<IFKContext>("EFCaching").As<IFKContext>().InstancePerHttpRequest();

获取:
private ILifetimeScope container = ((AutofacDependencyResolver)DependencyResolver.Current).RequestLifetimeScope;

FKContext = container.ResolveNamed<IFKContext>("EF");  
FKCachingContext = container.ResolveNamed<IFKContext>("EFCaching"); 




container 为什么是这么获取的,请参考Global.asax中的
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
这里把container 放入了.NET的容器里,那么在另一个地方一定有办法取出来 autofac  container  ResolveNamed
补充:.NET技术 ,  分析与设计
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,