Beispiel #1
0
 public static void MapRoute(this RouteCollection routes, RouteConfigurationSection section, bool cutOutUrlFirstSection)
 {
     if (section == null)
     {
         throw new ApplicationException("没有配置config文件中的routeConfig节点");
     }
     // Manipulate the Ignore List
     if (section.Ignore != null)
     {
         foreach (IgnoreItem ignoreItem in section.Ignore)
         {
             RouteValueDictionary ignoreConstraints = new RouteValueDictionary();
             if (ignoreItem.Constraints != null)
             {
                 foreach (Constraint constraint in ignoreItem.Constraints)
                 {
                     ignoreConstraints.Add(constraint.Name, constraint.Value);
                 }
             }
             MapIgnoreRoute(routes, ignoreItem.Url, ignoreConstraints);
         }
     }
     if (section.Areas != null)
     {
         foreach (AreaItem area in section.Areas)
         {
             MapByRoutingCollection(routes, cutOutUrlFirstSection, area.Name, area.Map, area.Namespaces);
         }
     }
     MapByRoutingCollection(routes, cutOutUrlFirstSection, string.Empty, section.Map, section.Namespaces);
 }
Beispiel #2
0
        public static void RegisterRoutes(RouteCollection routes, bool cutOutUrlFirstSection = false)
        {
            ControllerBuilder.Current.SetControllerFactory(new CustomControllerFactory());
            RouteConfigurationSection section = GetRouteConfiguration();

            routes.MapRoute(section, cutOutUrlFirstSection);
        }
Beispiel #3
0
 internal static RouteConfigurationSection GetRouteConfiguration()
 {
     if (s_Configuration == null)
     {
         lock (s_SyncObj)
         {
             if (s_Configuration == null)
             {
                 s_Configuration = (RouteConfigurationSection)ConfigurationManager.GetSection("routeConfig");
             }
         }
     }
     return(s_Configuration);
 }
Beispiel #4
0
        private static RoutingItem FindRoutingItem(string routeName)
        {
            routeName = routeName.Trim().ToLower();
            RouteConfigurationSection section = RouteConfig.GetRouteConfiguration();
            RoutingItem curRouteItem          = null;

            if (section.Areas != null && section.Areas.Count > 0)
            {
                foreach (AreaItem area in section.Areas)
                {
                    if (area.Map == null || area.Map.Count <= 0)
                    {
                        continue;
                    }
                    foreach (RoutingItem routingItem in area.Map)
                    {
                        if (routingItem.Name.ToLower().Trim() == routeName)
                        {
                            curRouteItem = routingItem;
                            break;
                        }
                    }
                    if (curRouteItem != null)
                    {
                        break;
                    }
                }
            }
            if (curRouteItem == null && section.Map != null && section.Map.Count > 0)
            {
                foreach (RoutingItem routingItem in section.Map)
                {
                    if (routingItem.Name.ToLower().Trim() == routeName)
                    {
                        curRouteItem = routingItem;
                        break;
                    }
                }
            }
            return(curRouteItem);
        }