Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

25 lignes
860 B

  1. using System;
  2. namespace MQTTnet.Extensions.Rpc.Options.TopicGeneration
  3. {
  4. public sealed class DefaultMqttRpcClientTopicGenerationStrategy : IMqttRpcClientTopicGenerationStrategy
  5. {
  6. public MqttRpcTopicPair CreateRpcTopics(TopicGenerationContext context)
  7. {
  8. if (context.MethodName.Contains("/") || context.MethodName.Contains("+") || context.MethodName.Contains("#"))
  9. {
  10. throw new ArgumentException("The method name cannot contain /, + or #.");
  11. }
  12. var requestTopic = $"MQTTnet.RPC/{Guid.NewGuid():N}/{context.MethodName}";
  13. var responseTopic = requestTopic + "/response";
  14. return new MqttRpcTopicPair
  15. {
  16. RequestTopic = requestTopic,
  17. ResponseTopic = responseTopic
  18. };
  19. }
  20. }
  21. }