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.
 
 
 

62 righe
2.9 KiB

  1. using JT808.Gateway.Abstractions;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace JT808.Gateway.ReplyMessage
  7. {
  8. public static class JT808ReplyMessageExtensions
  9. {
  10. /// <summary>
  11. /// 消息应答服务(不同的消费者实例)
  12. /// </summary>
  13. /// <param name="jT808ClientBuilder"></param>
  14. /// <returns></returns>
  15. public static IJT808ClientBuilder AddJT808InPlugReplyMessage(this IJT808ClientBuilder jT808ClientBuilder)
  16. {
  17. jT808ClientBuilder.JT808Builder.Services.AddSingleton<JT808ReplyMessageHandler>();
  18. jT808ClientBuilder.JT808Builder.Services.AddHostedService<JT808ReplyMessageHostedService>();
  19. return jT808ClientBuilder;
  20. }
  21. /// <summary>
  22. /// 消息应答服务(不同的消费者实例)
  23. /// </summary>
  24. /// <typeparam name="TReplyMessageService">自定义消息回复服务</typeparam>
  25. /// <param name="jT808ClientBuilder"></param>
  26. /// <returns></returns>
  27. public static IJT808ClientBuilder AddJT808InPlugReplyMessage<TReplyMessageHandler>(this IJT808ClientBuilder jT808ClientBuilder)
  28. where TReplyMessageHandler : JT808ReplyMessageHandler
  29. {
  30. jT808ClientBuilder.JT808Builder.Services.AddSingleton<JT808ReplyMessageHandler, TReplyMessageHandler>();
  31. jT808ClientBuilder.JT808Builder.Services.AddHostedService<JT808ReplyMessageHostedService>();
  32. return jT808ClientBuilder;
  33. }
  34. /// <summary>
  35. /// 消息应答服务(消费者单实例)
  36. /// </summary>
  37. /// <typeparam name="TReplyMessageService">自定义消息回复服务</typeparam>
  38. /// <param name="jT808GatewayBuilder"></param>
  39. /// <returns></returns>
  40. public static IJT808GatewayBuilder AddJT808InMemoryReplyMessage<TReplyMessageHandler>(this IJT808GatewayBuilder jT808GatewayBuilder)
  41. where TReplyMessageHandler : JT808ReplyMessageHandler
  42. {
  43. jT808GatewayBuilder.JT808Builder.Services.AddSingleton<JT808ReplyMessageHandler, TReplyMessageHandler>();
  44. jT808GatewayBuilder.JT808Builder.Services.AddHostedService<JT808ReplyMessageHostedService>();
  45. return jT808GatewayBuilder;
  46. }
  47. /// <summary>
  48. /// 消息应答服务(消费者单实例)
  49. /// </summary>
  50. /// <param name="jT808GatewayBuilder"></param>
  51. /// <returns></returns>
  52. public static IJT808GatewayBuilder AddInMemoryReplyMessage(this IJT808GatewayBuilder jT808GatewayBuilder)
  53. {
  54. jT808GatewayBuilder.JT808Builder.Services.AddSingleton<JT808ReplyMessageHandler>();
  55. jT808GatewayBuilder.JT808Builder.Services.AddHostedService<JT808ReplyMessageHostedService>();
  56. return jT808GatewayBuilder;
  57. }
  58. }
  59. }