示例#1
0
        public CompositionRouteHandler(CompositionRule rule)
        {
            _rule = rule;

            _appenders      = rule.Appenders.ToArray();
            _routeTemplates = rule.Appenders.Select(a => ParseTemplate(a.Template)).ToArray();
        }
示例#2
0
        public CompositionRuleBuilder Route(string template)
        {
            CompositionRule old = _rule;

            _rule = new CompositionRule(template);
            if (old != null)
            {
                foreach (IAppender a in old.Appenders)
                {
                    _rule.Appenders.Add(a);
                }
            }
            return(this);
        }
        public static IRouteBuilder MapCompositionRule(this IRouteBuilder builder, CompositionRule rule)
        {
            var handler = new CompositionRouteHandler(rule);

            return(builder.MapRoute(rule.RouteTemplate, handler.Execute));
        }