本文整理汇总了C#中System.Web.Routing.Route.GetTargetActionDescriptors方法的典型用法代码示例。如果您正苦于以下问题:C# Route.GetTargetActionDescriptors方法的具体用法?C# Route.GetTargetActionDescriptors怎么用?C# Route.GetTargetActionDescriptors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.Routing.Route
的用法示例。
在下文中一共展示了Route.GetTargetActionDescriptors方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateRouteEntry_IfDirectRouteProviderReturnsRouteWithEmptyActionDescriptors_Throws
public void CreateRouteEntry_IfDirectRouteProviderReturnsRouteWithEmptyActionDescriptors_Throws()
{
// Arrange
string areaPrefix = null;
string controllerPrefix = null;
Route route = new Route(url: null, routeHandler: null);
route.DataTokens = new RouteValueDictionary();
route.DataTokens.Add(RouteDataTokenKeys.Actions, new ActionDescriptor[0]);
ActionDescriptor[] originalActions = route.GetTargetActionDescriptors();
Assert.NotNull(originalActions); // Guard
Assert.Equal(0, originalActions.Length); // Guard
RouteEntry entry = new RouteEntry(name: null, route: route);
IDirectRouteFactory factory = CreateStubRouteFactory(entry);
ControllerDescriptor controllerDescriptor = CreateStubControllerDescriptor("IgnoreController");
ActionDescriptor actionDescriptor = CreateStubActionDescriptor(controllerDescriptor, "IgnoreAction");
IReadOnlyCollection<ActionDescriptor> actions = new ActionDescriptor[] { actionDescriptor };
IInlineConstraintResolver constraintResolver =
new Mock<IInlineConstraintResolver>(MockBehavior.Strict).Object;
// Act & Assert
string expectedMessage = "The route does not have any associated action descriptors. Routing requires " +
"that each direct route map to a non-empty set of actions.";
Assert.Throws<InvalidOperationException>(() => DefaultDirectRouteProvider.CreateRouteEntry(areaPrefix,
controllerPrefix, factory, actions, constraintResolver, targetIsAction: false), expectedMessage);
}
示例2: CreateRouteEntry_IfDirectRouteProviderReturnsRouteWithHandler_Throws
public void CreateRouteEntry_IfDirectRouteProviderReturnsRouteWithHandler_Throws()
{
// Arrange
string areaPrefix = null;
string controllerPrefix = null;
ControllerDescriptor controllerDescriptor = CreateStubControllerDescriptor("IgnoreController");
ActionDescriptor actionDescriptor = CreateStubActionDescriptor(controllerDescriptor, "IgnoreAction");
Route route = new Route(url: null, routeHandler: null);
route.DataTokens = new RouteValueDictionary();
route.DataTokens.Add(RouteDataTokenKeys.Actions, new ActionDescriptor[] { actionDescriptor });
route.RouteHandler = new Mock<IRouteHandler>(MockBehavior.Strict).Object;
ActionDescriptor[] originalActions = route.GetTargetActionDescriptors();
RouteEntry entry = new RouteEntry(name: null, route: route);
IDirectRouteFactory factory = CreateStubRouteFactory(entry);
IReadOnlyCollection<ActionDescriptor> actions = new ActionDescriptor[] { actionDescriptor };
IInlineConstraintResolver constraintResolver =
new Mock<IInlineConstraintResolver>(MockBehavior.Strict).Object;
// Act & Assert
string expectedMessage = "Direct routing does not support per-route route handlers.";
Assert.Throws<InvalidOperationException>(() => DefaultDirectRouteProvider.CreateRouteEntry(areaPrefix,
controllerPrefix, factory, actions, constraintResolver, targetIsAction: false), expectedMessage);
}