您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

57 行
2.3 KiB

  1. using JT808.Gateway.Abstractions.Enums;
  2. using JT808.Gateway.InMemoryMQ;
  3. using JT808.Gateway.ReplyMessage;
  4. using JT808.Gateway.MsgLogging;
  5. using JT808.Gateway.Traffic;
  6. using JT808.Gateway.MsgIdHandler;
  7. using JT808.Gateway.SessionNotice;
  8. using JT808.Protocol;
  9. using Microsoft.Extensions.Configuration;
  10. using Microsoft.Extensions.DependencyInjection;
  11. using Microsoft.Extensions.DependencyInjection.Extensions;
  12. using Microsoft.Extensions.Hosting;
  13. using Microsoft.Extensions.Logging;
  14. using System;
  15. using System.Threading.Tasks;
  16. using JT808.Gateway.SimpleServer.Impl;
  17. namespace JT808.Gateway.SimpleServer
  18. {
  19. class Program
  20. {
  21. static async Task Main(string[] args)
  22. {
  23. var serverHostBuilder = new HostBuilder()
  24. .ConfigureAppConfiguration((hostingContext, config) =>
  25. {
  26. config.SetBasePath(AppDomain.CurrentDomain.BaseDirectory);
  27. config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
  28. })
  29. .ConfigureLogging((context, logging) =>
  30. {
  31. logging.AddConsole();
  32. logging.SetMinimumLevel(LogLevel.Trace);
  33. })
  34. .ConfigureServices((hostContext, services) =>
  35. {
  36. services.AddSingleton<ILoggerFactory, LoggerFactory>();
  37. services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
  38. services.AddJT808Configure()
  39. .AddGateway(hostContext.Configuration)
  40. .AddTcp()
  41. .AddServerInMemoryMQ(JT808ConsumerType.MsgIdHandlerConsumer|
  42. JT808ConsumerType.ReplyMessageConsumer |
  43. JT808ConsumerType.MsgLoggingConsumer |
  44. JT808ConsumerType.ReplyMessageLoggingConsumer)
  45. .AddInMemoryMsgIdHandler<JT808MsgIdHandler>()
  46. .AddInMemoryReplyMessage()
  47. .AddInMemoryMsgLogging<JT808MsgLogging>()
  48. .AddInMemorySessionNotice()
  49. .Builder();
  50. });
  51. await serverHostBuilder.RunConsoleAsync();
  52. }
  53. }
  54. }