Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

45 righe
1.6 KiB

  1. using JT808.DotNetty.Core;
  2. using JT808.DotNetty.Tcp;
  3. using JT808.DotNetty.Kafka;
  4. using JT808.Protocol;
  5. using Microsoft.Extensions.Configuration;
  6. using Microsoft.Extensions.DependencyInjection;
  7. using Microsoft.Extensions.Hosting;
  8. using Microsoft.Extensions.Logging;
  9. using System;
  10. using System.Threading.Tasks;
  11. namespace JT808.DotNetty.SimpleQueueServer
  12. {
  13. class Program
  14. {
  15. static async Task Main(string[] args)
  16. {
  17. var serverHostBuilder = new HostBuilder()
  18. .ConfigureAppConfiguration((hostingContext, config) =>
  19. {
  20. config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory);
  21. config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
  22. })
  23. .ConfigureLogging((context, logging) =>
  24. {
  25. logging.AddConsole();
  26. logging.SetMinimumLevel(LogLevel.Trace);
  27. })
  28. .ConfigureServices((hostContext, services) =>
  29. {
  30. services.AddSingleton<ILoggerFactory, LoggerFactory>();
  31. services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
  32. services.AddJT808Configure()
  33. .AddJT808NettyCore(hostContext.Configuration)
  34. .AddJT808TcpNettyHost()
  35. .AddJT808ServerKafkaMsgProducer(hostContext.Configuration)
  36. .AddJT808ServerKafkaMsgReplyConsumer(hostContext.Configuration)
  37. .Builder();
  38. });
  39. await serverHostBuilder.RunConsoleAsync();
  40. }
  41. }
  42. }