Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

60 righe
2.4 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Threading;
  5. using System.Threading.Tasks;
  6. using Microsoft.Extensions.Hosting;
  7. using Microsoft.Extensions.Logging;
  8. using System.Text.Json;
  9. using JT808.Protocol.Extensions;
  10. using Microsoft.Extensions.Options;
  11. using JT808.Gateway.Abstractions.Configurations;
  12. using JT808.Gateway.WebApiClientTool;
  13. using JT808.Gateway.SimpleClient.Customs;
  14. namespace JT808.Gateway.SimpleClient.Jobs
  15. {
  16. public class CallHttpClientJobExt : IHostedService
  17. {
  18. private readonly ILogger Logger;
  19. private JT808HttpClientExt jT808HttpClientExt;
  20. public CallHttpClientJobExt(
  21. ILoggerFactory loggerFactory,
  22. JT808HttpClientExt jT808HttpClient)
  23. {
  24. Logger = loggerFactory.CreateLogger<CallHttpClientJobExt>();
  25. this.jT808HttpClientExt = jT808HttpClient;
  26. }
  27. public Task StartAsync(CancellationToken cancellationToken)
  28. {
  29. Task.Run(async() =>
  30. {
  31. while (!cancellationToken.IsCancellationRequested)
  32. {
  33. var result1 = await jT808HttpClientExt.GetIndex1();
  34. var result2 = await jT808HttpClientExt.GetTcpSessionAll();
  35. var result3 = await jT808HttpClientExt.UnificationSend(new Abstractions.Dtos.JT808UnificationSendRequestDto
  36. {
  37. TerminalPhoneNo= "123456789012",
  38. HexData= "7E02000026123456789012007D02000000010000000200BA7F0E07E4F11C0028003C00001810151010100104000000640202007D01137E"
  39. });
  40. var result4 = await jT808HttpClientExt.QueryTcpSessionByTerminalPhoneNo(new Abstractions.Dtos.JT808TerminalPhoneNoDto { TerminalPhoneNo= "33333333333" });
  41. Logger.LogInformation($"[GetIndex1]:{JsonSerializer.Serialize(result1)}");
  42. Logger.LogInformation($"[GetTcpAtomicCounter]:{JsonSerializer.Serialize(result2)}");
  43. Logger.LogInformation($"[UnificationSend]:{JsonSerializer.Serialize(result3)}");
  44. Logger.LogInformation($"[QueryTcpSessionByTerminalPhoneNo]:{JsonSerializer.Serialize(result4)}");
  45. Thread.Sleep(3000);
  46. }
  47. }, cancellationToken);
  48. return Task.CompletedTask;
  49. }
  50. public Task StopAsync(CancellationToken cancellationToken)
  51. {
  52. return Task.CompletedTask;
  53. }
  54. }
  55. }