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.
 
 
 
 

25 righe
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. }