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.
 
 
 

44 righe
1.9 KiB

  1. using System;
  2. using System.Threading.Tasks;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Microsoft.Extensions.Hosting;
  5. using Microsoft.Extensions.Logging;
  6. using JT808.Protocol;
  7. using Microsoft.Extensions.Configuration;
  8. using NLog.Extensions.Logging;
  9. namespace JT808.Gateway.ServerBenchmark
  10. {
  11. class Program
  12. {
  13. static async Task Main(string[] args)
  14. {
  15. var serverHostBuilder = new HostBuilder()
  16. .ConfigureAppConfiguration((hostingContext, config) =>
  17. {
  18. config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
  19. .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
  20. .AddJsonFile($"appsettings.{ hostingContext.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true);
  21. })
  22. .ConfigureLogging((context, logging) =>
  23. {
  24. Console.WriteLine($"Environment.OSVersion.Platform:{Environment.OSVersion.Platform.ToString()}");
  25. NLog.LogManager.LoadConfiguration($"Configs/nlog.{Environment.OSVersion.Platform.ToString()}.config");
  26. logging.AddNLog(new NLogProviderOptions { CaptureMessageTemplates = true, CaptureMessageProperties = true });
  27. logging.SetMinimumLevel(LogLevel.Trace);
  28. })
  29. .ConfigureServices((hostContext, services) =>
  30. {
  31. services.AddSingleton<ILoggerFactory, LoggerFactory>();
  32. services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
  33. services.AddJT808Configure()
  34. .AddGateway(hostContext.Configuration)
  35. .AddTcp()
  36. .AddUdp();
  37. });
  38. await serverHostBuilder.RunConsoleAsync();
  39. }
  40. }
  41. }