Beispiel #1
0
        private static void Main()
        {
            var host = WebHostConfiguration
                       .Configure(new WebHostBuilder(), addCommandLineArguments: true)
                       .UseStartup <Startup>()
                       .Build();

            host.Run();
        }
        public void TestingWebHostConfiguration_GettingSettingProperties_ShouldPass()
        {
            var webHostConfiguration = new WebHostConfiguration {
                Urls = new[] { "url1", "url2" }
            };

            Assert.NotNull(webHostConfiguration);
            Assert.NotNull(webHostConfiguration.Urls);
            Assert.Equal("url1", webHostConfiguration.Urls[0]);
            Assert.Equal("url2", webHostConfiguration.Urls[1]);
        }
Beispiel #3
0
        public static TestApplication BuildTestApplication <TStartup>(TestApplication testApp,
                                                                      string environmentName = "Production",
                                                                      Action <IWebHostBuilder> configureHost = null) where TStartup : class
        {
            testApp.LoggerProvider = new StubLoggerProvider();
            testApp.User           = new ClaimsPrincipal(new ClaimsIdentity());

            var hostBuilder = new WebHostBuilder();

            configureHost?.Invoke(hostBuilder);
            hostBuilder.ConfigureServices(services =>
            {
                services.AddTransient <HttpContextFactory>();
                services.AddTransient <IHttpContextFactory>((sp) =>
                {
                    var defaultContextFactory = sp.GetService <HttpContextFactory>();
                    var httpContextFactory    = new WrappedHttpContextFactory(defaultContextFactory);
                    httpContextFactory.ConfigureFeatureWithContext((features, httpCtx) =>
                    {
                        features.Set <IHttpAuthenticationFeature>(new HttpAuthenticationFeature {
                            User = testApp.User
                        });
                        features.Set <IServiceProvidersFeature>(new RequestServicesFeature(httpCtx,
                                                                                           testApp.ApplicationServices.GetService <IServiceScopeFactory>()));
                    });
                    return(httpContextFactory);
                });
            });
            var connectionStringEVKey = $"DOTNETCLUB_{ServiceExtensions.ConfigKeyConnectionString}";

            if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable(connectionStringEVKey)))
            {
                Environment.SetEnvironmentVariable(connectionStringEVKey, " ");
            }
            Environment.SetEnvironmentVariable("DOTNETCLUB_Logging:Console:LogLevel:Default", "Warning");

            WebHostConfiguration.Configure(hostBuilder);
            hostBuilder.ConfigureLogging(loggingBuilder =>
            {
                loggingBuilder.SetMinimumLevel(LogLevel.Trace);
                loggingBuilder.AddProvider(testApp.LoggerProvider);
            });
            hostBuilder
            .UseContentRoot(TestEnv.WebProjectPath())
            .UseEnvironment(environmentName)
            .UseStartup <TStartup>();

            testApp.Server = new TestServer(hostBuilder);
            testApp.ApplicationServices = testApp.Server.Host.Services;
            testApp._spOverrider        = new ServiceProviderOverrider(testApp.ApplicationServices);

            return(testApp);
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            var configuration = WebHostConfiguration.GetDefault(args);

            var application = new WebHostBuilder()
                              .UseServer("Microsoft.AspNet.Server.Kestrel")
                              .UseApplicationBasePath(Directory.GetCurrentDirectory())
                              .UseConfiguration(configuration)
                              .UseStartup <Startup>()
                              .Build();

            application.Run();
        }
Beispiel #5
0
        public static IHostBuilder CreateHostBuilder(string[] args)
        {
            var assemblyName = typeof(Startup).Assembly.GetName().Name;

            var configuration = BuildConfiguration();

            var webHostConfiguration = new WebHostConfiguration();

            configuration.GetSection($"{assemblyName}:{AppSettingsJsonFileSections.WebHost}").Bind(webHostConfiguration);

            var webHostBuilder = Host.CreateDefaultBuilder(args)
                                 .ConfigureWebHostDefaults(webHostConfigurator =>
            {
                webHostConfigurator.UseConfiguration(configuration);
                webHostConfigurator.UseStartup <Startup>();
                webHostConfigurator.UseUrls(webHostConfiguration.Urls);
            });

            return(webHostBuilder);
        }