Autofac用RegisterAssemblyTypes这个方法进行程序集注入。
public class AutofacModule : Module
{
protected override void Load(ContainerBuilder builder)
{
//builder.RegisterType<AdminRepository>().As<IAdminRepository>();
//builder.RegisterType<AdminService>().As<IAdminService>();
//服务层程序集命名空间
//在命名时,将所有服务统一命名成Services结尾,将所有仓储都命名Repository结尾
Assembly service = Assembly.Load("Services");
Assembly repo = Assembly.Load("Repository");
//自动注入
builder.RegisterAssemblyTypes(service)
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces().SingleInstance();
builder.RegisterAssemblyTypes(repo)
.Where(t => t.Name.EndsWith("Repository"))
.AsImplementedInterfaces().SingleInstance();
}
}