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