private static void Main() { var builder = new ContainerBuilder(); var serviceProvider = new AutofacRegistrationService(builder); IContainer container = null; var resolver = new AutofacResolvingService(() => container); new ActionContainerBootstrapper(x => { x.IgnoreMethodsDeclaredBy <object>(); x.IgnoreMethodsDeclaredBy <MarshalByRefObject>(); x.IgnoreMethodsDeclaredBy <IDisposable>(); }) .InitializeContainer(serviceProvider, Assembly.GetExecutingAssembly()); builder.RegisterInstance <IActionContainerResolvingService>(resolver); builder.RegisterAssemblyTypes(typeof(Program).Assembly) .AssignableTo <IDependOnSomething>() .WithProperty("ServiceAgent", new ServiceAgent(resolver)) .AsImplementedInterfaces(); container = builder.Build(); var depender = container.Resolve <IDependOnSomething>(); depender.UseServiceAgent(); }
private static void Main() { var builder = new ContainerBuilder(); var serviceProvider = new AutofacRegistrationService(builder); IContainer container = null; var resolver = new AutofacResolvingService(() => container); new ActionContainerBootstrapper(x => { x.IgnoreMethodsDeclaredBy<object>(); x.IgnoreMethodsDeclaredBy<MarshalByRefObject>(); x.IgnoreMethodsDeclaredBy<IDisposable>(); }) .InitializeContainer(serviceProvider, Assembly.GetExecutingAssembly()); builder.RegisterInstance<IActionContainerResolvingService>(resolver); builder.RegisterAssemblyTypes(typeof(Program).Assembly) .AssignableTo<IDependOnSomething>() .WithProperty("ServiceAgent", new ServiceAgent(resolver)) .AsImplementedInterfaces(); container = builder.Build(); var depender = container.Resolve<IDependOnSomething>(); depender.UseServiceAgent(); }