Пример #1
0
        void InitializeFromConfiguration(MessageAddressConversionConfiguration configuration)
        {
            Contract.Requires(configuration != null);

            this.topicTemplateTable = new UriTemplateTable(
                BaseUri,
                from template in configuration.InboundTemplates select new KeyValuePair <UriTemplate, object>(new UriTemplate(template, false), null));
            this.topicTemplateTable.MakeReadOnly(true);
            this.outboundTemplate = configuration.OutboundTemplates.Select(x => new UriPathTemplate(x)).Single();
        }
        void InitializeFromConfiguration(MessageAddressConversionConfiguration configuration)
        {
            Contract.Requires(configuration != null);

            this.topicTemplateTable = new UriTemplateTable(
                BaseUri,
                from template in configuration.InboundTemplates select new KeyValuePair<UriTemplate, object>(new UriTemplate(template, false), null));
            this.topicTemplateTable.MakeReadOnly(true);
            this.outboundTemplate = configuration.OutboundTemplates.Select(x => new UriPathTemplate(x)).Single();
        }
 public object Create(object parent, object configContext, XmlNode section)
 {
     var configuration = new MessageAddressConversionConfiguration();
     configuration.InboundTemplates.AddRange(section
         .OfType<XmlElement>()
         .Where(x => "inboundTemplate".Equals(x.Name, StringComparison.OrdinalIgnoreCase))
         .Select(route => route.InnerText));
     configuration.OutboundTemplates.AddRange(section
         .OfType<XmlElement>()
         .Where(x => "outboundTemplate".Equals(x.Name, StringComparison.OrdinalIgnoreCase))
         .Select(route => route.InnerText));
     return configuration;
 }
        public object Create(object parent, object configContext, XmlNode section)
        {
            var configuration = new MessageAddressConversionConfiguration();

            configuration.InboundTemplates.AddRange(section
                                                    .OfType <XmlElement>()
                                                    .Where(x => "inboundTemplate".Equals(x.Name, StringComparison.OrdinalIgnoreCase))
                                                    .Select(route => route.InnerText));
            configuration.OutboundTemplates.AddRange(section
                                                     .OfType <XmlElement>()
                                                     .Where(x => "outboundTemplate".Equals(x.Name, StringComparison.OrdinalIgnoreCase))
                                                     .Select(route => route.InnerText));
            return(configuration);
        }
        /// <summary>
        ///     Initializes a new instance of <see cref="ConfigurableMessageAddressConverter" />.
        /// </summary>
        /// <param name="configurationSectionName">Name of configuration section that contains routing configuration.</param>
        /// <remarks>
        ///     This constructor uses a section from application configuration to generate routing configuration.
        /// </remarks>
        /// <example>
        ///     <code>
        ///     <mqttTopicNameConversion>
        ///             <inboundTemplate>{deviceId}/messages/events</inboundTemplate>
        ///             <outboundTemplate>devices/{deviceId}/messages/devicebound/{*subTopic}</outboundTemplate>
        ///         </mqttTopicNameConversion>
        /// </code>
        /// </example>
        public ConfigurableMessageAddressConverter(string configurationSectionName)
        {
            Contract.Requires(!string.IsNullOrEmpty(configurationSectionName));

#if NETSTANDARD1_3
            var configuration = new MessageAddressConversionConfiguration();
            configurationRoot.GetSection(configurationSectionName).Bind(configuration);
#else
            var configuration =
                (MessageAddressConversionConfiguration)ConfigurationManager.GetSection(configurationSectionName);
#endif

            this.InitializeFromConfiguration(configuration);
        }
        public ConfigurableMessageAddressConverter(List <string> inboundTemplates, List <string> outboundTemplates)
        {
            var configuration = new MessageAddressConversionConfiguration(inboundTemplates, outboundTemplates);

            this.InitializeFromConfiguration(configuration);
        }
 public ConfigurableMessageAddressConverter(MessageAddressConversionConfiguration configuration)
 {
     this.InitializeFromConfiguration(configuration);
 }
 public ConfigurableMessageAddressConverter(List<string> inboundTemplates, List<string> outboundTemplates)
 {
     var configuration = new MessageAddressConversionConfiguration(inboundTemplates, outboundTemplates);
     this.InitializeFromConfiguration(configuration);
 }
 public ConfigurableMessageAddressConverter(MessageAddressConversionConfiguration configuration)
 {
     this.InitializeFromConfiguration(configuration);
 }