public void Initialize(UrlMappingConfig config) { AssertUtils.ArgumentNotNull(config, "urlmappingConfig"); this.config = config; RefreshUrlMappingData(); }
void findRoutes(string siteKey, Dictionary <string, Type> types) { UrlMappingConfig config = UrlMappingConfig.Instance; IUrlMappingProvider provider = ServiceLocator.Instance.Resolve <IUrlMappingProvider>(); foreach (var controller in types) { foreach (MethodInfo m in controller.Value.GetMethods(BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance)) { object[] objs = m.GetCustomAttributes(typeof(UrlRouteAttribute), true); if (objs.Length == 0) { continue; } UrlRouteAttribute attr = objs[0] as UrlRouteAttribute; UrlMappingItem item = UrlMapping.Utility.CreateTemplatedMappingItem(string.Empty, attr.Template, UrlMapping.Utility.GetHref(attr.Href), config.IncomingQueryStringBehavior); item.UrlTemplate = attr.Template; item.Index = -1; item.SubIndex = -1; item.SubsubIndex = -1; item.Title = attr.Title; item.Id = controller.Key; item.Action = m.Name; provider.AddMapping(siteKey, item); } } }