Program.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Net;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Hosting.Server.Features;
  6. using Microsoft.AspNetCore.Server.Kestrel.Core;
  7. using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets;
  8. using Microsoft.Extensions.Logging.Abstractions;
  9. using Microsoft.Extensions.Options;
  10. namespace appMpower
  11. {
  12. class Program
  13. {
  14. static async Task Main(string[] args)
  15. {
  16. var socketTransportOptions = new SocketTransportOptions();
  17. var socketTransportFactory = new SocketTransportFactory(Options.Create(socketTransportOptions), NullLoggerFactory.Instance);
  18. var kestrelServerOptions = new KestrelServerOptions();
  19. kestrelServerOptions.Listen(IPAddress.Any, 8080);
  20. kestrelServerOptions.AllowSynchronousIO = true;
  21. kestrelServerOptions.AddServerHeader = false;
  22. using var kestrelServer = new KestrelServer(Options.Create(kestrelServerOptions), socketTransportFactory, NullLoggerFactory.Instance);
  23. await kestrelServer.StartAsync(new HttpApplication(), CancellationToken.None);
  24. Console.WriteLine("Listening on:");
  25. foreach (var address in kestrelServer.Features.Get<IServerAddressesFeature>().Addresses)
  26. {
  27. Console.WriteLine(" - " + address);
  28. }
  29. Console.WriteLine("Process CTRL+C to quit");
  30. var wh = new ManualResetEventSlim();
  31. Console.CancelKeyPress += (sender, e) => wh.Set();
  32. wh.Wait();
  33. }
  34. }
  35. }