12345678910111213141516171819202122232425262728 |
- using Autofac;
- namespace ERP.Framework.Extensions
- {
- /// <summary>
- /// Autofac扩展
- /// </summary>
- public static class AutofacExtension
- {
- /// <summary>
- /// 初始化Autofac,注入Repository 和 Service
- /// </summary>
- /// <param name="builder"></param>
- /// <param name="assemblyName">程序集</param>
- public static void InitAutofac(this ContainerBuilder builder)
- {
- var assemblyList = AppDomain.CurrentDomain.GetAssemblies()
- .Where(t => t.FullName != null && t.FullName.Contains("ERP"));
- //根据名称约定(业务处理层以Service结尾,仓储层以Repository结尾),实现服务接口和服务实现的依赖
- builder.RegisterAssemblyTypes(assemblyList.ToArray())
- .Where(t => t.IsClass)
- .Where(t => t.Name.EndsWith("Service") || t.Name.EndsWith("Repository"))
- .AsSelf().AsImplementedInterfaces()
- .InstancePerLifetimeScope();
- }
- }
- }
|