Example #1
0
        public static async Task Main(string[] args)
        {
            shutdown = new ManualResetEventSlim();
            Console.CancelKeyPress += Console_CancelKeyPress;

            var options = new KestrelServerOptions();

            options.ListenAnyIP(5000, c =>
            {
                c.UseHttpApplication <Application>();
            });

            var server = new KestrelServer(
                Options.Create(options),
                new SocketTransportFactory(
                    Options.Create(new SocketTransportOptions()),
                    NullLoggerFactory.Instance),
                NullLoggerFactory.Instance);

            var application = new HostingApplication((context) => Task.CompletedTask, new DefaultHttpContextFactory(new ServiceProvider()));
            await server.StartAsync(application, CancellationToken.None);

            Console.WriteLine("Application started.");
            shutdown.Wait();

            Console.WriteLine("Shutting down...");
            server.Dispose();
            await server.StopAsync(CancellationToken.None);
        }
Example #2
0
        public void Dispose()
        {
            server.Dispose();

            logWriter.Flush();
            logWriter.Dispose();

            Console.Write(Name);
            Console.WriteLine(".");
        }
Example #3
0
        /// <summary>
        /// Shuts down the server
        /// </summary>
        public async Task StopAsync()
        {
            if (IsListening)
            {
                IsListening = false;
                _stopSource.Cancel();
                var cts = new CancellationTokenSource(500);
                await _server.StopAsync(cts.Token);

                _stopSource.Dispose();
                _server.Dispose();
            }
        }
Example #4
0
        static void Main(string[] args)
        {
            var options = new KestrelServerOptions();

            options.NoDelay     = true;
            options.ThreadCount = 2;
            var applicationLifetime = new ApplicationLifetime();
            var server = new KestrelServer(new OptionsWrapper <KestrelServerOptions>(options), applicationLifetime,
                                           new LoggerFactory());

            server.Features.Get <IServerAddressesFeature>().Addresses.Add("http://localhost:8888");
            server.Start(new HttpApp());
            Console.WriteLine("Listening on 8888. Press Enter to stop.");
            Console.ReadLine();
            server.Dispose();
        }
Example #5
0
        public void Stop()
        {
            lock (_syncObject)
            {
                if (!IsRunning)
                {
                    return;
                }

                _cts.Cancel();
                _kestrelServer.Dispose();
                _kestrelServer = null;

                IsRunning = false;
            }

            _log.Info("Http server stopped");
        }
        public async ValueTask DisposeAsync()
        {
            await UnbindAsync();

            _server.Dispose();
        }
Example #7
0
        public async ValueTask DisposeAsync()
        {
            await UnbindAsync().ConfigureAwait(false);

            _server.Dispose();
        }