Esempio n. 1
0
        /// <summary>
        /// 映射一个路由规则
        /// </summary>
        /// <param name="routeTable">简单路由表实例</param>
        /// <param name="name">路由规则名称</param>
        /// <param name="urlPattern">URL 模式</param>
        /// <param name="routeValues">默认/静态路由值</param>
        /// <param name="queryKeys">可用于 QueryString 的路由值</param>
        /// <returns>返回简单路由表实例,便于链式注册</returns>
        public static SimpleRouteTable MapRoute(this SimpleRouteTable routeTable, string name, string urlPattern, IDictionary <string, string> routeValues, string[] queryKeys = null)
        {
            if (routeTable == null)
            {
                throw new ArgumentNullException("routeTable");
            }

            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            if (urlPattern == null)
            {
                throw new ArgumentNullException("urlPattern");
            }

            if (routeValues == null)
            {
                routeValues = new Dictionary <string, string>();
            }


            routeTable.AddRule(name, urlPattern, routeValues, queryKeys);
            return(routeTable);
        }