public AutofacModulosServiceProviderFactory(ModulosApp modulos, HostBuilderContext context, Action <AutoRegistrationModule> modifier = null)
     : base
     (
         modulos,
         collection => new ContainerBuilder(),
         modifier,
         context, context.Configuration, context.HostingEnvironment
     )
 {
 }
Example #2
0
            protected override IHostBuilder CreateHostBuilder()
            {
                var modulosApp = new ModulosApp();

                modulosApp.Initialize(typeof(TStartup).Assembly);

                var builder = Host.CreateDefaultBuilder()
                              .UseServiceProviderFactory(context => new AutofacModulosServiceProviderFactory(modulosApp, context))
                              .ConfigureWebHostDefaults(x =>
                {
                    x.UseStartup <TStartup>();
                    //x.UseTestServer();
                });

                return(builder);
            }
        public void RegisterAssembliesForNetCoreApp_register_affected_by_adito_hydra_core()
        {
            var modulos = new ModulosApp();

            modulos.Initialize();

            var suspectedAssemblies = new[]
            {
                "Modulos.Tests",
                "Modulos"
            };

            modulos.Assemblies.Select(e => e.GetName().Name)
            .Should()
            .Contain(suspectedAssemblies);
        }
Example #4
0
        private static void Main()
        {
            // 1. initialize
            var modulosApp = new ModulosApp();
            var iniResult  = modulosApp.Initialize();


            // 2. organize dependency injection
            var sc = new ServiceCollection();

            sc.AddModulos
            (
                modulosApp,
                // data from initialization pipeline, will be available for DI containers
                iniResult.GetAll()
            );
            var sp = sc.BuildServiceProvider();

            // 3. configure after dependency injection
            modulosApp.Configure(sp);
        }
Example #5
0
        public static async Task Main(string[] args)
        {
            var builder = WebAssemblyHostBuilder.CreateDefault(args);

            builder.RootComponents.Add <App>("#app");

            using (var http = new HttpClient
            {
                BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)
            })
            {
                var json = await http.GetStringAsync("_framework/blazor.boot.json");

                dynamic doc = JsonConvert.DeserializeObject(json);

                foreach (JProperty prop in doc.resources.assembly)
                {
                    var name = prop.Name.Replace(".dll", "");
                    if (ModulosApp.IsExcludedAssemblyName(name))
                    {
                        continue;
                    }

                    Assembly.Load(name);

                    Console.WriteLine("Assembly loaded = {0}", name);
                }
            }

            var modulosApp = new ModulosApp();

            modulosApp.Initialize(typeof(Program).Assembly);

            builder.ConfigureContainer(new FactoryForBlazor(modulosApp), collection => { collection.AddScoped(_ => new HttpClient {
                    BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)
                }); });

            await builder.Build().RunAsync();
        }
Example #6
0
 public FactoryForBlazor(ModulosApp modulos, Action <AutoRegistrationModule> modifier = null,
                         params object[] parameters) : base(modulos, modifier, parameters)
 {
     _modulos = modulos;
 }
 public Startup()
 {
     modulos = new ModulosApp();
     modulos.Initialize(typeof(Startup).Assembly);
 }