У меня есть маршрутизация атрибута MVC, включенная наряду с маршрутизацией конвенции. Я получаю эту ошибку каждый раз, когда запускаю приложение.Как избавиться от этой ошибки, вызванной маршрутизацией MVCAttribute?
Рядный ограничение распознаватель типа «DefaultInlineConstraintResolver» не смог решить следующие инлайн ограничение: «строка». Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и где оно заработало в коде.
Сведения об исключении: System.InvalidOperationException: Рядный ограничение распознаватель типа «DefaultInlineConstraintResolver» был не в состоянии решить следующие инлайн ограничение: «строка».
Вот трассировки стека:
[InvalidOperationException: Рядный ограничение распознаватель типа 'DefaultInlineConstraintResolver' не смог решить следующие инлайн ограничение: 'строка'.]
System. Web.Mvc.Routing.InlineRouteTemplateParser.GetInlineConstraint (группа constraintGroup, булева isOptional, IInlineConstraintResolver constraintResolver) +389
System.Web.Mvc.Routing.InlineRoute TemplateParser.ParseRouteTemplate (String routeTemplate, IDictionary2 defaults, IDictionary
2 ограничения, IInlineConstraintResolver constraintResolver) +488
System.Web.Mvc.Routing.DirectRouteFactoryContext.CreateBuilder (Строка шаблона, IInlineConstraintResolver constraintResolver) +308
System.Web.Mvc. Routing.DirectRouteFactoryContext.CreateBuilderInternal (String шаблон) +48
System.Web.Mvc.Routing.DirectRouteFactoryContext.CreateBuilder (String шаблон) System.Web.Mvc.RouteAttribute.System.Web.Mvc.Routing. IDirectRouteFactory.CreateRoute (DirectRouteFactoryContext контекста) +80
System.Web.Mvc.Routing.DefaultDirectRouteProvider.CreateRouteEntry (String areaPrefix, String controllerPrefix, IDirectRouteFactory завод, IReadOnlyCollection1 actions, IInlineConstraintResolver constraintResolver, Boolean targetIsAction) +115
1 фабрика, IReadOnlyCollection
System.Web.Mvc.Routing.DefaultDirectRouteProvider.CreateRouteEntries(String areaPrefix, String controllerPrefix, IReadOnlyCollection1 actions, IInlineConstraintResolver constraintResolver, Boolean targetIsAction) +155
1 фабрика, IInlineConstraintResolver constraintResolver) +188
System.Web.Mvc.Routing.DefaultDirectRouteProvider.GetActionDirectRoutes(ActionDescriptor actionDescriptor, IReadOnlyList
системы .Web.Mvc.Routing.DefaultDirectRouteProvider.GetDirectRoutes (controllerDescriptor controllerDescriptor, IReadOnlyList1 actionDescriptors, IInlineConstraintResolver constraintResolver) +245
1 controllerTypes, IInlineConstraintResolver constraintResolver, IDirectRouteProvider directRouteProvider) +23 System.Web.Mv c.Routing.AttributeRoutingMapper.MapAttributeRoutes (RouteCollection маршруты, IEnumerable`1 controllerTypes, IInlineConstraintResolver constraintResolver, IDirectRouteProvider directRouteProvider) +333
System.Web.Mvc.Routing.AttributeRoutingMapper.AddRouteEntries(SubRouteCollection collector, IEnumerable
System.Web.Mvc.Routing.AttributeRoutingMapper.MapAttributeRoutes (RouteCollection маршруты, IInlineConstraintResolver constraintResolver, IDirectRouteProvider directRouteProvider) +398
System.Web.Mvc.Routing.AttributeRoutingMapper.MapAttributeRoutes (RouteCollection маршруты, IInlineConstraintResolver constraintResolver) +192
System.Web.Mvc.RouteCollectionAttributeRoutingExtensions.MapMvcAttributeRoutes (RouteCollection маршруты) +123
SocialManager.RouteConfig.RegisterRoutes (RouteCollection маршруты) в C: \ Users \ Насер Dostdar \ Documents \ Visual Studio 2013 \ Projects \ SocialManager \ SocialManager \ App_Start \ RouteConfig.cs: 16 SocialManager.MvcApplication.Application_Start() в C: \ Users \ Насер Dostdar \ Documents \ Visual Studio 2013 \ Projects \ SocialManager \ SocialManager \ Global.asax.cs: 18[HttpException (0x80004005): Рядный ограничение распознаватель типа 'DefaultInlineConstraintResolver' не смог решить следующие инлайн ограничение:. 'Строка']
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext контекст, HttpApplication приложение) + 9942821
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr контекст приложение, HttpContext контекст, MethodInfo [] обработчики) +118
System.Web.HttpApplication.InitSpecial (HttpApplicationState состояние, MethodInfo [] обработчики, IntPtr контекст приложение, HttpContext контекст) +172
System.Web.HttpApplicationF actory.GetSpecialApplicationInstance (IntPtr контекст приложение, HttpContext контекст) +352
System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr контекста приложения) +296[HttpException (0x80004005): Рядное ограничение распознаватель типа «DefaultInlineConstraintResolver "не удалось решить следующие инлайн ограничение: 'строка']
System.Web.HttpRuntime.FirstRequestInit (HttpContext контекст) +992418 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext контекст) +101 System.Web. HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest сог, HttpContext контекст) +261
А вот как мой файл Route.Config выглядит следующим образом:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(null, "Page{page}",
new
{
controller = "Blogs",
action = "Index",
category =
(string)null
},
new { page = @"\d+" }
);
routes.MapRoute(null,
"{category}",
new { controller = "Blogs", action = "Edit", page = 1 }
);
routes.MapRoute(null,
"{category}/Page{page}",
new { controller = "Blogs", action = "List" },
new { page = @"\d+" }
);
routes.MapRoute(null, "{controller}/{action}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
PS: я не определен какой-либо MVC Attribute маршрут в моем проекте по состоянию на тем не менее, просто хотите проверить возможность включения функции маршрутизации атрибута MVC.
Web API Версия: 2,2
К сожалению, Крис, мой плохой !!! Я действительно не знаю, когда я определил маршрут с строковым ограничением, но да, был один, и все работает отлично! Спасибо! – BeanMRCode