Пример #1
0
        public static IWindsorContainer ConfigureForNode(this IWindsorContainer container)
        {
            InstallConfiguration installConfiguration = new InstallConfiguration
            {
                ServiceProfiles = new[] { ServiceAttribute.DefaultProfile },
                ScopedLifestyle = lf => lf.PerThread
            };

            return(container.ConfigureForAll(installConfiguration));
        }
Пример #2
0
        public static IWindsorContainer ConfigureForWebAPI(this IWindsorContainer container, IConfiguration configuration)
        {
            InstallConfiguration installConfiguration = new InstallConfiguration
            {
                DatabaseConnectionString = configuration.GetConnectionString("Database"),
                ServiceProfiles          = new[] { ServiceAttribute.DefaultProfile, ServiceProfiles.WebAPI },
                ScopedLifestyle          = lf => lf.PerAspNetCoreRequest()
            };

            return(container.ConfigureForAll(installConfiguration));
        }
Пример #3
0
        public static IWindsorContainer ConfigureForTests(this IWindsorContainer container)
        {
            string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");

            if (string.IsNullOrEmpty(environment))
            {
                environment = "Development";
            }

            IConfigurationRoot configuration = new ConfigurationBuilder()
                                               .SetBasePath(Directory.GetCurrentDirectory())
                                               .AddJsonFile("appsettings.json")
                                               .AddJsonFile($"appsettings.{environment}.json", true)
                                               .Build();

            InstallConfiguration installConfiguration = new InstallConfiguration
            {
                DatabaseConnectionString = configuration.GetConnectionString("Database"),
                ServiceProfiles          = new[] { ServiceAttribute.DefaultProfile },
                ScopedLifestyle          = lf => lf.PerThread,
            };

            return(container.ConfigureForAll(installConfiguration));
        }