AutofacModule.cs 994 B

1234567891011121314151617181920
  1. using Autofac;
  2. using Hangfire;
  3. using Masuit.MyBlogs.Core.Extensions;
  4. using Masuit.MyBlogs.Core.Extensions.Hangfire;
  5. using System.Diagnostics;
  6. using System.Reflection;
  7. namespace Masuit.MyBlogs.Core.Configs
  8. {
  9. public class AutofacModule : Autofac.Module
  10. {
  11. protected override void Load(ContainerBuilder builder)
  12. {
  13. builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).AsImplementedInterfaces().Where(t => t.Name.EndsWith("Repository") || t.Name.EndsWith("Service") || t.Name.EndsWith("Controller") || t.Name.EndsWith("Attribute")).PropertiesAutowired().AsSelf().InstancePerDependency();
  14. builder.RegisterType<BackgroundJobClient>().SingleInstance();
  15. builder.RegisterType<FirewallAttribute>().PropertiesAutowired().AsSelf().InstancePerDependency();
  16. builder.RegisterType<HangfireBackJob>().As<IHangfireBackJob>().PropertiesAutowired(PropertyWiringOptions.PreserveSetValues).InstancePerDependency();
  17. }
  18. }
  19. }