Autofac 组件扫描
在程序集中Autofac 可以使用约定来找到并注册组件,你可以扫描并注册自定义类型或者为Autofac 模块专门进行扫描。
1、扫描类型
在其他方面,被称为约定驱动的注册或扫描,Autofac可以根据用户指定的规则从一个程序集中注册一组类型:
var dataAccess = Assembly.GetExecutingAssembly();
builder.RegisterAssemblyTypes(dataAccess)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces();每个RegisterAssemblyTypes() 调用将适用一组规则,如果有多种不同的组件注册,一次或多次调用RegisterAssemblyTypes() 是非常有必要的。
RegisterAssemblyTypes()接受一个或多个程序集的参数数组。默认情况下,程序集中的所有的公共的,具体类将被注册。你可以过滤一组注册的类型,通过使用linq表达式。
过滤注册类型,使用Where()语法过滤:
延伸阅读
学习是年轻人改变自己的最好方式