当前位置: 首页>>代码示例>>C#>>正文


C# HttpConfiguration.GetAttributeRoutes方法代码示例

本文整理汇总了C#中System.Web.Http.HttpConfiguration.GetAttributeRoutes方法的典型用法代码示例。如果您正苦于以下问题:C# HttpConfiguration.GetAttributeRoutes方法的具体用法?C# HttpConfiguration.GetAttributeRoutes怎么用?C# HttpConfiguration.GetAttributeRoutes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Web.Http.HttpConfiguration的用法示例。


在下文中一共展示了HttpConfiguration.GetAttributeRoutes方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MapHttpAttributeRoutes_DoesNotRegisterRoute_ForActionsWithPrefixButNoRouteTemplate

        public void MapHttpAttributeRoutes_DoesNotRegisterRoute_ForActionsWithPrefixButNoRouteTemplate()
        {
            // Arrange
            var config = new HttpConfiguration();
            var routePrefixes = new Collection<IRoutePrefix>() { new RoutePrefixAttribute("prefix") };
            var routeProviders = new Collection<RouteAttribute>() { };
            SetUpConfiguration(config, routePrefixes, routeProviders);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            var routes = config.GetAttributeRoutes();
            Assert.Empty(routes);
        }
开发者ID:tlycken,项目名称:aspnetwebstack,代码行数:15,代码来源:HttpConfigurationExtensionsTest.cs

示例2: MapHttpAttributeRoutes_DoesNotAddRoutesWithoutAttribute

        public void MapHttpAttributeRoutes_DoesNotAddRoutesWithoutAttribute()
        {
            // Arrange
            var config = new HttpConfiguration();
            var routePrefixes = new Collection<RoutePrefixAttribute>() { new RoutePrefixAttribute("prefix") };
            var routeProviders = new Collection<IHttpRouteInfoProvider>() { };
            SetUpConfiguration(config, routePrefixes, routeProviders);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            var routes = config.GetAttributeRoutes();
            Assert.Empty(routes);
        }
开发者ID:pingxumeng,项目名称:aspnetwebstack,代码行数:15,代码来源:HttpConfigurationExtensionsTest.cs

示例3: MapHttpAttributeRoutes_AddsRouteFromAttribute

        public void MapHttpAttributeRoutes_AddsRouteFromAttribute(string prefix, string template, string expectedTemplate)
        {
            // Arrange
            var config = new HttpConfiguration();
            var routePrefixes = new Collection<IRoutePrefix>();
            if (prefix != null)
            {
                routePrefixes.Add(new RoutePrefixAttribute(prefix));
            }

            var routeProviders = new Collection<RouteAttribute>() { new RouteAttribute(template) };

            SetUpConfiguration(config, routePrefixes, routeProviders);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            var routes = config.GetAttributeRoutes();
            IHttpRoute route = Assert.Single(routes);
            Assert.Equal(expectedTemplate, route.RouteTemplate);
        }
开发者ID:tlycken,项目名称:aspnetwebstack,代码行数:22,代码来源:HttpConfigurationExtensionsTest.cs

示例4: MapHttpAttributeRoutes_RespectsPerControllerActionSelectors

        public void MapHttpAttributeRoutes_RespectsPerControllerActionSelectors()
        {
            // Arrange
            var globalConfiguration = new HttpConfiguration();
            var _controllerDescriptor = new HttpControllerDescriptor(globalConfiguration, "PerControllerActionSelector", typeof(PerControllerActionSelectorController));

            // Set up the global action selector and controller selector
            var controllerSelector = CreateControllerSelector(new HttpControllerDescriptor[] { _controllerDescriptor });
            globalConfiguration.Services.Replace(typeof(IHttpControllerSelector), controllerSelector);

            var globalAction = CreateActionDescriptor("Global", new Collection<RouteAttribute>() { new RouteAttribute("Global") });
            var globalActionSelector = CreateActionSelector(
                new Dictionary<HttpControllerDescriptor, IEnumerable<HttpActionDescriptor>>()
                    {
                        { _controllerDescriptor, new HttpActionDescriptor[] { globalAction } }
                    });
            globalConfiguration.Services.Replace(typeof(IHttpActionSelector), globalActionSelector);

            // Configure the per controller action selector to return the action with route "PerController"
            var perControllerAction = CreateActionDescriptor(
                "PerController",
                new Collection<RouteAttribute>() { new RouteAttribute("PerController") });
            ActionSelectorConfigurationAttribute.PerControllerActionSelectorMock
                .Setup(a => a.GetActionMapping(_controllerDescriptor))
                .Returns(new HttpActionDescriptor[] { perControllerAction }.ToLookup(ad => ad.ActionName));

            // Act
            globalConfiguration.MapHttpAttributeRoutes();

            // Assert
            var routes = globalConfiguration.GetAttributeRoutes();
            Assert.Equal("PerController", Assert.Single(routes).RouteTemplate);
        }
开发者ID:tlycken,项目名称:aspnetwebstack,代码行数:33,代码来源:HttpConfigurationExtensionsTest.cs

示例5: MapHttpAttributeRoutes_AddsMultipleRoutesFromAttributes

        public void MapHttpAttributeRoutes_AddsMultipleRoutesFromAttributes()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();
            var routePrefixes = new Collection<IRoutePrefix>();
            var routeProviders = new Collection<RouteAttribute>() { new RouteAttribute("controller/get1"), new RouteAttribute("controller/get2") };
            SetUpConfiguration(config, routePrefixes, routeProviders);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            var routes = config.GetAttributeRoutes();
            Assert.Equal(2, routes.Count);
            Assert.Single(routes.Where(route => route.RouteTemplate == "controller/get1"));
            Assert.Single(routes.Where(route => route.RouteTemplate == "controller/get2"));
        }
开发者ID:tlycken,项目名称:aspnetwebstack,代码行数:17,代码来源:HttpConfigurationExtensionsTest.cs

示例6: MapHttpAttributeRoutes_AddsOnlyOneActionToRoute_ForMultipleAttributesOnASingleAction

        public void MapHttpAttributeRoutes_AddsOnlyOneActionToRoute_ForMultipleAttributesOnASingleAction()
        {
            // Arrange
            var config = new HttpConfiguration();
            string routeTemplate = "api/values";
            HttpControllerDescriptor controllerDescriptor = CreateControllerDescriptor(config, "Controller", new Collection<RoutePrefixAttribute>());
            HttpActionDescriptor actionDescriptor = CreateActionDescriptor(
                "Action",
                new Collection<IHttpRouteInfoProvider>() { new RouteAttribute(routeTemplate), new RouteAttribute(routeTemplate) });

            var controllerSelector = CreateControllerSelector(new[] { controllerDescriptor });
            config.Services.Replace(typeof(IHttpControllerSelector), controllerSelector);
            var actionSelector = CreateActionSelector(
                new Dictionary<HttpControllerDescriptor, IEnumerable<HttpActionDescriptor>>()
                {
                    { controllerDescriptor, new HttpActionDescriptor[] { actionDescriptor } }
                });
            config.Services.Replace(typeof(IHttpActionSelector), actionSelector);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            HttpRouteCollection routes = config.GetAttributeRoutes();
            IHttpRoute route = Assert.Single(routes);
            Assert.Equal(routeTemplate, route.RouteTemplate);
            Assert.Equal(actionDescriptor, Assert.Single(route.DataTokens["actions"] as ReflectedHttpActionDescriptor[]));
        }
开发者ID:pingxumeng,项目名称:aspnetwebstack,代码行数:28,代码来源:HttpConfigurationExtensionsTest.cs

示例7: MapHttpAttributeRoutes_RespectsRouteOrderAcrossControllers

        public void MapHttpAttributeRoutes_RespectsRouteOrderAcrossControllers()
        {
            // Arrange
            var config = new HttpConfiguration();
            HttpControllerDescriptor controllerDescriptor1 = CreateControllerDescriptor(config, "Controller1", new Collection<RoutePrefixAttribute>());
            HttpActionDescriptor actionDescriptor1 = CreateActionDescriptor(
                "Action1",
                new Collection<IHttpRouteInfoProvider>() { new RouteAttribute("action1/route1") { RouteOrder = 3 }, new RouteAttribute("action1/route2") { RouteOrder = 1 } });
            HttpControllerDescriptor controllerDescriptor2 = CreateControllerDescriptor(config, "Controller2", new Collection<RoutePrefixAttribute>());
            HttpActionDescriptor actionDescriptor2 = CreateActionDescriptor(
                "Action2",
                new Collection<IHttpRouteInfoProvider>() { new RouteAttribute("action2/route1") { RouteOrder = 2 } });
            
            var controllerSelector = CreateControllerSelector(new[] { controllerDescriptor1, controllerDescriptor2 });
            config.Services.Replace(typeof(IHttpControllerSelector), controllerSelector);
            var actionSelector = CreateActionSelector(
                new Dictionary<HttpControllerDescriptor, IEnumerable<HttpActionDescriptor>>()
                {
                    { controllerDescriptor1, new HttpActionDescriptor[] { actionDescriptor1 } },
                    { controllerDescriptor2, new HttpActionDescriptor[] { actionDescriptor2 } }
                });
            config.Services.Replace(typeof(IHttpActionSelector), actionSelector);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            HttpRouteCollection routes = config.GetAttributeRoutes();
            Assert.Equal(3, routes.Count);
            Assert.Equal("action1/route2", routes.ElementAt(0).RouteTemplate);
            Assert.Equal("action2/route1", routes.ElementAt(1).RouteTemplate);
            Assert.Equal("action1/route1", routes.ElementAt(2).RouteTemplate);
        }
开发者ID:pingxumeng,项目名称:aspnetwebstack,代码行数:33,代码来源:HttpConfigurationExtensionsTest.cs

示例8: MapHttpAttributeRoutes_RespectsRouteOrder

        public void MapHttpAttributeRoutes_RespectsRouteOrder()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();
            var routePrefixes = new Collection<RoutePrefixAttribute>() { };
            var routeProviders = new Collection<IHttpRouteInfoProvider>()
                {
                    new RouteAttribute("get1") { RouteOrder = 1 },
                    new RouteAttribute("get2"),
                    new RouteAttribute("get3") { RouteOrder = -1 }
                };
            SetUpConfiguration(config, routePrefixes, routeProviders);

            // Act
            config.MapHttpAttributeRoutes();

            // Assert
            HttpRouteCollection routes = config.GetAttributeRoutes();
            Assert.Equal(3, routes.Count);
            Assert.Equal("get3", routes.ElementAt(0).RouteTemplate);
            Assert.Equal("get2", routes.ElementAt(1).RouteTemplate);
            Assert.Equal("get1", routes.ElementAt(2).RouteTemplate);
        }
开发者ID:pingxumeng,项目名称:aspnetwebstack,代码行数:23,代码来源:HttpConfigurationExtensionsTest.cs

示例9: MapHttpAttributeRoutes_DoesNotAddRoute_WhenRouteBuilderReturnsNull

        public void MapHttpAttributeRoutes_DoesNotAddRoute_WhenRouteBuilderReturnsNull()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();
            var routePrefixes = new Collection<RoutePrefixAttribute>();
            var routeProviders = new Collection<IHttpRouteInfoProvider>() { new RouteAttribute("values") };
            SetUpConfiguration(config, routePrefixes, routeProviders);

            var mockRouteBuilder = new Mock<HttpRouteBuilder>();
            mockRouteBuilder.Setup(
                routeBuilder => routeBuilder.BuildHttpRoute(
                    "values",
                    It.IsAny<IEnumerable<ReflectedHttpActionDescriptor>>()))
                .Returns<IHttpRoute>(null);

            // Act
            config.MapHttpAttributeRoutes(mockRouteBuilder.Object);

            // Assert
            var routes = config.GetAttributeRoutes();
            Assert.Empty(routes);
        }
开发者ID:pingxumeng,项目名称:aspnetwebstack,代码行数:22,代码来源:HttpConfigurationExtensionsTest.cs


注:本文中的System.Web.Http.HttpConfiguration.GetAttributeRoutes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。