Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 

44 рядки
1.6 KiB

  1. using Microsoft.Extensions.Configuration;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using Microsoft.Extensions.DependencyInjection.Extensions;
  4. using Microsoft.Extensions.Hosting;
  5. using Microsoft.Extensions.Logging;
  6. using System;
  7. using System.Collections.Concurrent;
  8. using System.Collections.Generic;
  9. using System.Diagnostics;
  10. using System.Threading.Tasks;
  11. namespace JT808.DotNetty.Hosting
  12. {
  13. class Program
  14. {
  15. static async Task Main(string[] args)
  16. {
  17. //7E 01 02 00 06 01 38 12 34 56 78 00 85 32 31 31 33 31 33 B2 7E
  18. var serverHostBuilder = new HostBuilder()
  19. .ConfigureAppConfiguration((hostingContext, config) =>
  20. {
  21. config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory);
  22. config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
  23. })
  24. .ConfigureLogging((context, logging) =>
  25. {
  26. logging.AddConsole();
  27. logging.SetMinimumLevel(LogLevel.Trace);
  28. })
  29. .ConfigureServices((hostContext, services) =>
  30. {
  31. services.AddSingleton<ILoggerFactory, LoggerFactory>();
  32. services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
  33. // 自定义消息处理业务
  34. services.Replace(new ServiceDescriptor(typeof(JT808MsgIdHandlerBase), typeof(JT808MsgIdCustomHandler), ServiceLifetime.Singleton));
  35. })
  36. .UseJT808Host();
  37. await serverHostBuilder.RunConsoleAsync();
  38. }
  39. }
  40. }