Пример #1
0
        /// <summary>
        /// Use the KickStart extension to configure Autofac.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure Autofac options.</param>
        /// <returns>
        /// A fluent <see langword="interface" /> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseAutofac(this IConfigurationBuilder configurationBuilder, Action <IAutofacBuilder> configure)
        {
            var options = new AutofacOptions();
            var service = new AutofacStarter(options);

            if (configure != null)
            {
                var builder = new AutofacBuilder(options);
                configure(builder);
            }

            configurationBuilder.ExcludeName("Autofac");
            configurationBuilder.Use(service);

            return(configurationBuilder);
        }
Пример #2
0
        /// <summary>
        /// Use the KickStart extension to configure Autofac.
        /// </summary>
        /// <param name="configurationBuilder">The configuration builder.</param>
        /// <param name="configure">The <see langword="delegate"/> to configure Autofac options.</param>
        /// <returns>
        /// A fluent <see langword="interface" /> to configure KickStart.
        /// </returns>
        public static IConfigurationBuilder UseAutofac(this IConfigurationBuilder configurationBuilder, Action <IAutofacBuilder> configure)
        {
            var options = new AutofacOptions();
            var service = new AutofacStarter(options);

            if (configure != null)
            {
                var builder = new AutofacBuilder(options);
                configure(builder);
            }

            configurationBuilder.ExcludeAssemblyFor <AutofacStarter>();
            configurationBuilder.ExcludeAssemblyFor <global::Autofac.ContainerBuilder>();
            configurationBuilder.Use(service);

            return(configurationBuilder);
        }
Пример #3
0
        public static void Startup()
        {
            var builder        = new ContainerBuilder();
            var autofacStarter = new AutofacStarter(builder);

            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterType <MyRepo>().As <IMyRepo>();

            autofacStarter.AddTransient <IChaosSerializer, ChaosJsonSerializer>();
            autofacStarter.AddChaosServices(options =>
            {
                options.SetChaosServerIpPort("127.0.0.1:50050");
                //options.UseWebSocket();
                options.UseGrpc();
            });
            //autofacStarter.AddChaosInterfaces(typeof(AutofacConfig).Assembly);
            autofacStarter.AddChaosTransient <IMyRepo>();

            var container = autofacStarter.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            autofacStarter.Resolve <IChaosServer>().Start();
        }