本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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);
}
示例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"));
}
示例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[]));
}
示例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);
}
示例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);
}
示例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);
}