コード例 #1
0
        public void Match_FindsMatches(string parameterName, IDictionary<string, object> values, bool excluded, bool match)
        {
            // Arrange
            var constraint = new SetRouteConstraint<string>(this.testSet, matchOnExcluded: excluded);

            // Act
            var result = constraint.Match(request: null, route: null, parameterName: parameterName, values: values, routeDirection: HttpRouteDirection.UriResolution);

            // Assert
            Assert.Equal(match, result);
        }
        /// <summary>
        /// </summary>
        /// <param name="config">HttpConfiguration</param>
        public void Initialize(HttpConfiguration config)
        {
            HashSet <string>            tableControllerNames      = config.GetTableControllerNames();
            SetRouteConstraint <string> tableControllerConstraint = new SetRouteConstraint <string>(tableControllerNames, matchOnExcluded: false);

            HttpRouteCollectionExtensions.MapHttpRoute(
                config.Routes,
                name: TablesRouteName,
                routeTemplate: "tables/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { controller = tableControllerConstraint });
        }
コード例 #3
0
        private static void MapApiControllers(HttpConfiguration config)
        {
            HashSet<string> tableControllerNames = config.GetMobileAppControllerNames();
            SetRouteConstraint<string> apiControllerConstraint = new SetRouteConstraint<string>(tableControllerNames, matchOnExcluded: false);

            HttpRouteCollectionExtensions.MapHttpRoute(
                config.Routes,
                name: RouteNames.Apis,
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { controller = apiControllerConstraint });
        }
        /// <summary>
        /// </summary>
        /// <param name="config">HttpConfiguration</param>
        public void Initialize(HttpConfiguration config)
        {
            HashSet<string> tableControllerNames = config.GetTableControllerNames();
            SetRouteConstraint<string> tableControllerConstraint = new SetRouteConstraint<string>(tableControllerNames, matchOnExcluded: false);

            HttpRouteCollectionExtensions.MapHttpRoute(
                config.Routes,
                name: TablesRouteName,
                routeTemplate: "tables/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { controller = tableControllerConstraint });
        }
        /// <summary>
        /// </summary>
        /// <param name="config">HttpConfiguration</param>
        public void Initialize(HttpConfiguration config)
        {
            HashSet<string> tableControllerNames = config.GetTableControllerNames();
            SetRouteConstraint<string> tableControllerConstraint = new SetRouteConstraint<string>(tableControllerNames, matchOnExcluded: false);

            // register all TableControllers as exclusions so they do not map to /api
            MobileAppConfiguration mobileAppConfig = config.GetMobileAppConfiguration();
            foreach (string controllerName in tableControllerNames)
            {
                mobileAppConfig.AddBaseRouteExclusion(controllerName);
            }

            HttpRouteCollectionExtensions.MapHttpRoute(
                config.Routes,
                name: TablesRouteName,
                routeTemplate: "tables/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { controller = tableControllerConstraint });
        }
コード例 #6
0
        /// <summary>
        /// </summary>
        /// <param name="config">HttpConfiguration</param>
        public void Initialize(HttpConfiguration config)
        {
            HashSet <string>            tableControllerNames      = config.GetTableControllerNames();
            SetRouteConstraint <string> tableControllerConstraint = new SetRouteConstraint <string>(tableControllerNames, matchOnExcluded: false);

            // register all TableControllers as exclusions so they do not map to /api
            MobileAppConfiguration mobileAppConfig = config.GetMobileAppConfiguration();

            foreach (string controllerName in tableControllerNames)
            {
                mobileAppConfig.AddBaseRouteExclusion(controllerName);
            }

            HttpRouteCollectionExtensions.MapHttpRoute(
                config.Routes,
                name: TablesRouteName,
                routeTemplate: "tables/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { controller = tableControllerConstraint });
        }
コード例 #7
0
 public void SetRouteConstraint_InitializesParameters(bool excluded)
 {
     var constraint = new SetRouteConstraint<string>(this.testSet, excluded);
     Assert.Equal(excluded, constraint.Excluded);
     Assert.Same(this.testSet, constraint.Set);
 }