1 public void ConfigureContainer(ContainerBuilder builder)
2 {
3 ////过滤器注册
4 //builder.RegisterAssemblyTypes(Assembly.Load("IoC.Web"))
5 // .Where(t => t.BaseType.FullName.Contains("Filter"))
6 // .AsSelf();
7 //
8
9 builder.RegisterAssemblyTypes(Assembly.Load("IoC.Application"),
10 Assembly.Load("IoC.Domain"))
11 .Where(x => typeof(IScopedDenpency).IsAssignableFrom(x) && !x.IsAbstract)
12 .AsSelf()
13 .AsImplementedInterfaces()
14 .InstancePerLifetimeScope()
15 .PropertiesAutowired();
16
17 builder.RegisterAssemblyTypes(Assembly.Load("IoC.Application"),
18 Assembly.Load("IoC.Domain"))
19 .Where(x => typeof(ISingletonDenpency).IsAssignableFrom(x) && !x.IsAbstract)
20 .AsSelf()
21 .AsImplementedInterfaces()
22 .SingleInstance()
23 .PropertiesAutowired();
24
25
26 builder.RegisterAssemblyTypes(Assembly.Load("IoC.Application"),
27 Assembly.Load("IoC.Domain"))
28 .Where(x => typeof(ITraintDenpency).IsAssignableFrom(x) && !x.IsAbstract)
29 .AsSelf()
30 .AsImplementedInterfaces()
31 .InstancePerDependency()
32 .PropertiesAutowired();
33
34 //builder.RegisterAssemblyTypes(Assembly.Load("IoC.Application"), Assembly.Load("IoC.Domain"))
35 // .AsSelf()
36 // .AsImplementedInterfaces()
37 // .InstancePerLifetimeScope()
38 // .PropertiesAutowired();
39 }