1234567891011121314151617181920212223242526272829303132333435363738 |
- using Autofac;
- using Autofac.Extras.Quartz;
- using System.Reflection;
- using wms.api.Job;
- namespace wms.api.autofac
- {
- public class AutofacModuleRegister : Autofac.Module
- {
- //重写Autofac管道Load方法,在这里注册注入
- protected override void Load(ContainerBuilder builder)
- {
- builder.RegisterAssemblyTypes(GetAssemblyByName("wms.service")).Where(a => a.Name.EndsWith("Service")).AsImplementedInterfaces().PropertiesAutowired();
- builder.RegisterAssemblyTypes(GetAssemblyByName("wms.dataservice")).Where(a => a.Name.EndsWith("DataService")).AsImplementedInterfaces().PropertiesAutowired();
- //builder.RegisterModule(new QuartzAutofacFactoryModule());
- builder.RegisterModule(new QuartzAutofacJobsModule(typeof(PostJob).Assembly));
- ////单一注册
- //builder.RegisterType<NlogUtil>().Named<ILogUtil>(typeof(NlogUtil).Name);
- //var controllersTypesInAssembly = typeof(Startup).Assembly.GetExportedTypes()
- //.Where(type => typeof(Microsoft.AspNetCore.Mvc.ControllerBase).IsAssignableFrom(type)).ToArray();
- //builder.RegisterTypes(controllersTypesInAssembly).PropertiesAutowired();
- }
- /// <summary>
- /// 根据程序集名称获取程序集
- /// </summary>
- /// <param name="AssemblyName">程序集名称</param>
- public static Assembly GetAssemblyByName(String AssemblyName)
- {
- return Assembly.Load(AssemblyName);
- }
- }
- }
|