예제 #1
0
        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();
        }
예제 #2
0
        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();
        }