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

36 行
1.2 KiB

  1. using System.Threading.Tasks;
  2. using Microsoft.Extensions.Hosting;
  3. using System.Threading;
  4. using JT808.Gateway.Abstractions;
  5. using JT808.Gateway.Abstractions.Enums;
  6. namespace JT808.Gateway.MsgIdHandler
  7. {
  8. public class JT808MsgIdHandlerInMemoryHostedService : IHostedService
  9. {
  10. private readonly IJT808MsgConsumer jT808MsgConsumer;
  11. private readonly IJT808MsgIdHandler jT808MsgIdHandler;
  12. public JT808MsgIdHandlerInMemoryHostedService(
  13. IJT808MsgIdHandler jT808MsgIdHandler,
  14. IJT808MsgConsumerFactory jT808MsgConsumerFactory)
  15. {
  16. this.jT808MsgIdHandler = jT808MsgIdHandler;
  17. this.jT808MsgConsumer = jT808MsgConsumerFactory.Create(JT808ConsumerType.MsgIdHandlerConsumer);
  18. }
  19. public Task StartAsync(CancellationToken cancellationToken)
  20. {
  21. jT808MsgConsumer.Subscribe();
  22. jT808MsgConsumer.OnMessage(jT808MsgIdHandler.Processor);
  23. return Task.CompletedTask;
  24. }
  25. public Task StopAsync(CancellationToken cancellationToken)
  26. {
  27. jT808MsgConsumer.Unsubscribe();
  28. return Task.CompletedTask;
  29. }
  30. }
  31. }