選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 

31 行
1.3 KiB

  1. using JT808.DotNetty.Codecs;
  2. using JT808.DotNetty.Configurations;
  3. using JT808.DotNetty.Handlers;
  4. using JT808.DotNetty.Interfaces;
  5. using JT808.DotNetty.Internal;
  6. using Microsoft.Extensions.DependencyInjection;
  7. using Microsoft.Extensions.DependencyInjection.Extensions;
  8. using Microsoft.Extensions.Hosting;
  9. using System;
  10. using System.Reflection;
  11. namespace JT808.DotNetty
  12. {
  13. public static class JT808DotnettyExtensions
  14. {
  15. public static IHostBuilder UseJT808Host(this IHostBuilder builder)
  16. {
  17. return builder.ConfigureServices((hostContext, services) =>
  18. {
  19. services.Configure<JT808Configuration>(hostContext.Configuration.GetSection("JT808Configuration"));
  20. services.TryAddSingleton<JT808SessionManager>();
  21. services.TryAddSingleton<JT808MsgIdHandlerBase,JT808MsgIdDefaultHandler>();
  22. services.TryAddSingleton<IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherDefaultImpl>();
  23. services.TryAddScoped<JT808ConnectionHandler>();
  24. services.TryAddScoped<JT808Decoder>();
  25. services.TryAddScoped<JT808ServerHandler>();
  26. services.AddHostedService<JT808ServerHost>();
  27. });
  28. }
  29. }
  30. }