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

36 行
1.2 KiB

  1. using System.Threading.Tasks;
  2. using JT808.Protocol;
  3. using JT808.Protocol.Interfaces;
  4. using Microsoft.Extensions.Hosting;
  5. using System.Threading;
  6. using JT808.Gateway.Abstractions;
  7. namespace JT808.Gateway.SessionNotice
  8. {
  9. public class JT808SessionNoticeHostedService : IHostedService
  10. {
  11. private readonly JT808SessionNoticeService jT808SessionNoticeService;
  12. private readonly IJT808SessionConsumer jT808SessionConsumer;
  13. public JT808SessionNoticeHostedService(
  14. IJT808SessionConsumer jT808SessionConsumer,
  15. JT808SessionNoticeService jT808SessionNoticeService)
  16. {
  17. this.jT808SessionNoticeService = jT808SessionNoticeService;
  18. this.jT808SessionConsumer = jT808SessionConsumer;
  19. }
  20. public Task StartAsync(CancellationToken cancellationToken)
  21. {
  22. jT808SessionConsumer.Subscribe();
  23. jT808SessionConsumer.OnMessage(jT808SessionNoticeService.Processor);
  24. return Task.CompletedTask;
  25. }
  26. public Task StopAsync(CancellationToken cancellationToken)
  27. {
  28. jT808SessionConsumer.Unsubscribe();
  29. return Task.CompletedTask;
  30. }
  31. }
  32. }