| 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);        }    }}
 |