public IRoutingManager Add(string routeName, string routeUrl, string url, bool checkPhysicalUrlAccess, List <RoutingDictonaryInfo> defaults, List <RoutingDictonaryInfo> constraints, List <RoutingDictonaryInfo> dataTokens) { if (RoutingInfoList.Any(p => p.routeName == routeName)) { if (Log != null) { Log.LogFormat(LoggerLevels.Warn, "Route已存在。 routeName:{0} routeUrl:{1} url:{2} by:{3}", routeName, routeUrl, url, StackHelper.GetCallingType().FullName); } return(this); } if (Log != null) { Log.LogFormat(LoggerLevels.Info, "AddRoute routeName:{0} routeUrl:{1} url:{2} by:{3}", routeName, routeUrl, url, StackHelper.GetCallingType().FullName); } #region 填充路由键值 RouteValueDictionary defaultsRouteValueDictionary = null; if (defaults != null) { defaultsRouteValueDictionary = new RouteValueDictionary(); defaults.Each(p => { defaultsRouteValueDictionary.Add(p.Key, p.Value); }); } RouteValueDictionary constraintsRouteValueDictionary = null; if (constraints != null) { constraintsRouteValueDictionary = new RouteValueDictionary(); constraints.Each(p => { constraintsRouteValueDictionary.Add(p.Key, p.Value); }); } RouteValueDictionary dataTokensRouteValueDictionary = null; if (dataTokens != null) { dataTokensRouteValueDictionary = new RouteValueDictionary(); dataTokens.Each(p => { dataTokensRouteValueDictionary.Add(p.Key, p.Value); }); } #endregion RouteTable.Routes.MapPageRoute(routeName, routeUrl, url, checkPhysicalUrlAccess, defaultsRouteValueDictionary, constraintsRouteValueDictionary, dataTokensRouteValueDictionary); return(this); }
public IRoutingManager Add <T>(string routeName, string url) where T : IWebHandler { var fullName = typeof(T).FullName; var handler = GlobalApplicationObject.Current.ApplicationContext.WebHandlerList.FirstOrDefault(p => p.FullName == fullName); if (handler == null) { Log.LogFormat(LoggerLevels.Error, "Handler不存在。 routeName:{0} url:{1} WebHandler:{2} by:{3}", routeName, url, fullName, StackHelper.GetCallingType().FullName); } else if (handler != null && !RouteWebHandlerInfoList.Any(p => p.routeName == routeName)) { var routeWebHandlerInfo = new RouteWebHandlerInfo() { routeName = routeName, routeUrl = url, WebHandlerInfo = handler }; RouteWebHandlerInfoList.Add(routeWebHandlerInfo); Log.LogFormat(LoggerLevels.Info, "AddRoute routeName:{0} url:{1} WebHandler:{2} by:{3}", routeName, url, fullName, StackHelper.GetCallingType().FullName); } else { Log.LogFormat(LoggerLevels.Warn, "Route已存在。 routeName:{0} url:{1} WebHandler:{2} by:{3}", routeName, url, fullName, StackHelper.GetCallingType().FullName); } return(this); }