Asp.net mvc AttributeRouting WebAPI现在产生错误

Asp.net mvc AttributeRouting WebAPI现在产生错误,asp.net-mvc,attributerouting,Asp.net Mvc,Attributerouting,我刚刚在我的WebAPI项目上更新了(从v3.x版)AttributeRouting的最新版本,它刚刚开始产生我以前从未见过的错误 现在,每当调用API时,我都会遇到如下错误: System.InvalidOperationException: The constraint entry 'inboundHttpMethod' on the route with route template 'my/path' must have a string value or be of a type wh

我刚刚在我的WebAPI项目上更新了(从v3.x版)AttributeRouting的最新版本,它刚刚开始产生我以前从未见过的错误

现在,每当调用API时,我都会遇到如下错误:

System.InvalidOperationException: The constraint entry 'inboundHttpMethod' on the route with route template 'my/path' must have a string value or be of a type which implements 'IHttpRouteConstraint'.
   at System.Web.Http.Routing.HttpRoute.ProcessConstraint(HttpRequestMessage request, Object constraint, String parameterName, HttpRouteValueDictionary values, HttpRouteDirection routeDirection)
   at System.Web.Http.Routing.HttpRoute.ProcessConstraints(HttpRequestMessage request, HttpRouteValueDictionary values, HttpRouteDirection routeDirection)
   at System.Web.Http.Routing.HttpRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
   at AttributeRouting.Web.Http.Framework.HttpAttributeRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
   at System.Web.Http.WebHost.Routing.HttpWebRoute.GetRouteData(HttpContextBase httpContext)
   at System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext)
   at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context)
   at System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
它几个月来一直在正常工作

没有详细的文档,没有任何使用更改。我的配置文件看起来正确


出了什么问题?我找不到其他人报告此问题。

肯定是内存托管类型问题。 最近,我在升级到MVC5后遇到了同样的问题。我查看了各种帖子,实际上找到了一个最终帮助我的帖子。下面是我如何解决这个问题的

安装属性路由库后,必须在global.ascx文件中包含以下内容

AttributeRoutingHttpConfig.RegisterRoutes(GlobalConfiguration.Configuration.Routes);
在AttributeRoutingTpConfig类中,替换以下代码:

routes.MapHttpAttributeRoutes();

routes.maphttpAttribute路由(cfg=>
{
cfg.InMemory=true;
cfg.AutoGenerateRouteNames=true;
cfg.AddRoutesFromAssemblyOf();
});

在这里,任何API控制器都引用项目中的任何apicontroller类。

Ahhh,很有趣。谢谢你的信息!
routes.MapHttpAttributeRoutes(cfg =>
{
            cfg.InMemory = true;
            cfg.AutoGenerateRouteNames = true;
            cfg.AddRoutesFromAssemblyOf<ANY_API_Controller>();
        });