关于依赖注入autofac的相关知识
来源:互联网 发布:文本框空js弹出遮罩层 编辑:程序博客网 时间:2024/05/18 09:05
1.AsImplementedInterfaces() 是以接口方式进行注入,注入这些类的所有的公共接口作为服务(除了释放资源)
A:IA
builder.RegisterType<A>().AsImplementedInterfaces(); 使用时用IA,会返回一个A的实例,即将自身的实例进行注入
2.InstancePerRequest() 每次请求共享同一个实例,使用ef时,使不同的操作使用同一个数据上下文
builder.RegisterType<A>().AsImplementedInterfaces().InstancePerRequest() ;
3.PreserveExistingDefaults() 防止后面注册的覆盖前面注册的,指定为非默认值。对于同一个接口,后面注册的会覆盖前面注册的。
builder.Register<A>() .As<IA>()
;
builder.Register<AA>() .As<IA>()
; 这样AA就会覆盖A
builder.Register<AA>() .As<IA>()
.PreserveExistingDefaults() 这样A是IA的默认值,不会被AA覆盖
4.InstancePerDependency
为每个依赖或者调用(Resolve())都创建一个新的对象,唯一的实例
5.SingleInstance 为每次请求都使用同一个对象,单例模式.告诉容器,是个单例,但这个单例不用自己实现。
6.RegisterGeneric 对泛型类进行注册
builder.RegisterGeneric(typeof(Repository<>
)).As(typeof(IRepository<>
))
7.RegisterInstance() 注册一个实例,比如: 对已经存在的对象的实例进行注册,这样可以使实例转化为由容器托管的实例
A:IA
public class B:IB
{
A a=new A();
}
builder.RegisterInstance(B.A).As<IA>();
builder.RegisterInstance(B.A).As<IA>().ExternallyOwned();
8.RegisterControllers() 注册Controllers
builder.RegisterControllers(Assembly.GetExecutingAssembly()) 注册当前程序集中的所有Controllers
9.RegisterFilterProvider() 注册Filter过滤器(非全局)
builder.RegisterFilterProvider()
10.RegisterAssemblyTypes 注册类
builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())注册了当前程序集内的所有的类
11.InstancePerMatchingLifetimeScope 在一个做标识的生命周期域中,每一个依赖或调用创建一个单一的共享的实例。打了标识了的生命周期域中的子标识域中可以共享父级域中的实例
builder.RegisterType<A>() .AsImplementedInterfaces() .InstancePerMatchingLifetimeScope();
13.InstancePerLifetimeScope在一个生命周期中,每一次的依赖组件或调用(Resolve())创建一个单一的共享的实例,且每一个不同的生命周期域,实例是不同的
14.UsingConstructor(参数) 自动装配,手动使用特定的构造函数
builder.RegisterType<A>().UsingConstructor(typeof(IA),typeof(IAA)) 这样指定调用的是A(IA,IAA)的构造函数,如果该构造函数不存在则报错
15.[AsClosedTypesOf(open)]AsClosedTypesOf(typeof(IA<>)):如果是多继承的话,注册的程序集所对应的服务(接口)是离这个类最近的开放的泛型实例(接口)
例:builder.RegisterAssemblyTypes(A).AsClosedTypesOf(typeof(IRepository<>));
- 关于依赖注入autofac的相关知识
- 依赖注入框架Autofac的简单使用
- 依赖注入容器Autofac的详解
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入框架Autofac的简单使用
- 依赖注入容器Autofac
- Autofac+Log4net依赖注入步骤
- AutoFac IoC DI 依赖注入
- 使用 Autofac 进行依赖注入
- 2015-1-15 【序】
- Linux Device Driver Interview Questions
- 静态常量与非静态常量的区别
- MySQL 数据库简明教程
- xp环境下解决LR无法录制使用firefox访问内网的问题
- 关于依赖注入autofac的相关知识
- Android翻页效果原理实现之模拟扭曲
- 宏定义只有一个参数
- JAVA 反射机制
- HashMap的原理
- codeforces 56D Changing a String 区间dp,字符串
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分
- linux下创建用户 删除修改用户
- 工业4.0如何创造对于软件持续专业发展和系统集成工程师不断增长的需求?