public void WebRootCanBeResolvedFromTheProjectJson()
        {
            var services = HostingServices.Create().BuildServiceProvider();
            var env      = services.GetRequiredService <IHostingEnvironment>();

            Assert.Equal(Path.GetFullPath("testroot"), env.WebRoot);
            Assert.True(env.WebRootFileSystem.GetFileInfo("TextFile.txt").Exists);
        }
        public void HostingEngineCanBeResolvedWithDefaultServices()
        {
            var services = HostingServices.Create().BuildServiceProvider();

            var engine = services.GetRequiredService <IHostingEngine>();

            Assert.NotNull(engine);
        }
Exemple #3
0
        public void Main(string[] args)
        {
            var config = new Configuration();

            if (File.Exists(HostingIniFile))
            {
                config.AddIniFile(HostingIniFile);
            }
            config.AddEnvironmentVariables();
            config.AddCommandLine(args);

            var services = HostingServices.Create(_serviceProvider, config)
                           .BuildServiceProvider();

            var appEnv     = services.GetRequiredService <IApplicationEnvironment>();
            var hostingEnv = services.GetRequiredService <IHostingEnvironment>();

            var context = new HostingContext()
            {
                Services        = services,
                Configuration   = config,
                ServerName      = config.Get("server"), // TODO: Key names
                ApplicationName = config.Get("app")     // TODO: Key names
                                  ?? appEnv.ApplicationName,
                EnvironmentName = hostingEnv.EnvironmentName,
            };

            var engine             = services.GetRequiredService <IHostingEngine>();
            var appShutdownService = _serviceProvider.GetRequiredService <IApplicationShutdown>();
            var shutdownHandle     = new ManualResetEvent(false);

            var serverShutdown = engine.Start(context);

            appShutdownService.ShutdownRequested.Register(() =>
            {
                serverShutdown.Dispose();
                shutdownHandle.Set();
            });

            var ignored = Task.Run(() =>
            {
                Console.WriteLine("Started");
                Console.ReadLine();
                appShutdownService.RequestShutdown();
            });

            shutdownHandle.WaitOne();
        }
        public void HostingEngineCanBeStarted()
        {
            var services = HostingServices.Create().BuildServiceProvider();

            var engine = services.GetRequiredService <IHostingEngine>();

            var context = new HostingContext
            {
                ServerFactory   = this,
                Services        = services,
                ApplicationName = "Microsoft.AspNet.Hosting.Tests"
            };

            var engineStart = engine.Start(context);

            Assert.NotNull(engineStart);
            Assert.Equal(1, _startInstances.Count);
            Assert.Equal(0, _startInstances[0].DisposeCalls);

            engineStart.Dispose();

            Assert.Equal(1, _startInstances[0].DisposeCalls);
        }