コード例 #1
0
        public static OutboundRouteDefinition Create(RouteSourceType type, string template)
        {
            var route = new OutboundRouteDefinition(type, template);

            route.Validate();
            return(route);
        }
コード例 #2
0
 public bool TryMapRouteToTopicName(RouteSourceType routeType, IDictionary<string, string> context, out string topicName)
 {
     UriPathTemplate template;
     if (!this.routeTemplateMap.TryGetValue(routeType, out template))
     {
         topicName = null;
         return false;
     }
     topicName = template.Bind(context);
     return true;
 }
コード例 #3
0
        public bool TryMapRouteToTopicName(RouteSourceType routeType, IDictionary <string, string> context, out string topicName)
        {
            UriPathTemplate template;

            if (!this.routeTemplateMap.TryGetValue(routeType, out template))
            {
                topicName = null;
                return(false);
            }
            topicName = template.Bind(context);
            return(true);
        }
コード例 #4
0
        /// <summary>
        /// Tries to route a device bound message and append route by message metadata
        /// </summary>
        /// <param name="routeType"></param>
        /// <param name="context"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        public bool TryRouteOutgoingMessage(RouteSourceType routeType, IMessage context, out string path)
        {
            UriPathTemplate template;

            if (!this.routeTemplateMap.TryGetValue(routeType, out template))
            {
                path = null;
                return(false);
            }
            try
            {
                path = template.Bind(context.Properties);
            }
            catch (InvalidOperationException)
            {
                path = null;
                return(false);
            }
            return(true);
        }
コード例 #5
0
 OutboundRouteDefinition(RouteSourceType type, string template)
 {
     this.Type     = type;
     this.Template = template;
 }
コード例 #6
0
 /// <summary>
 /// Tries to route a device bound message and append route by message metadata
 /// </summary>
 /// <param name="routeType"></param>
 /// <param name="context"></param>
 /// <param name="path"></param>
 /// <returns></returns>
 public bool TryRouteOutgoingMessage(RouteSourceType routeType, IMessage context, out string path)
 {
     UriPathTemplate template;
     if (!this.routeTemplateMap.TryGetValue(routeType, out template))
     {
         path = null;
         return false;
     }
     try
     {
         path = template.Bind(context.Properties);
     }
     catch (InvalidOperationException)
     {
         path = null;
         return false;
     }
     return true;
 }
コード例 #7
0
 OutboundRouteDefinition(RouteSourceType type, string template)
 {
     this.Type = type;
     this.Template = template;
 }
コード例 #8
0
 public static OutboundRouteDefinition Create(RouteSourceType type, string template)
 {
     var route = new OutboundRouteDefinition(type, template);
     route.Validate();
     return route;
 }