【发布时间】:2013-10-28 15:09:58
【问题描述】:
我使用 .NET 4.5 开发了一个简单的 VB .NET Web API 项目
这个项目运行良好,但我决定安装AttributeRouting nuget 包。安装此软件包后,每个功能似乎都会引发以下异常:
带有路由的路由上的约束条目'inboundHttpMethod' 模板“公司”必须有一个字符串值或者是一个类型 实现“IHttpRouteConstraint”。
在此消息中,“Company”是一个简单的 GET 方法的路由名称,该方法简单地返回一个对象。每条路线都会导致此错误消息。堆栈跟踪是:
[InvalidOperationException:约束条目'inboundHttpMethod' 在带有路由模板“Company/{Id}”的路由上必须有一个字符串 值或属于实现“IHttpRouteConstraint”的类型。]
System.Web.Http.Routing.HttpRoute.ProcessConstraint(HttpRequestMessage 请求,对象约束,字符串参数名称, HttpRouteValueDictionary 值,HttpRouteDirection routeDirection) +346 System.Web.Http.Routing.HttpRoute.ProcessConstraints(HttpRequestMessage 请求,HttpRouteValueDictionary 值,HttpRouteDirection 路线方向)+201
System.Web.Http.Routing.HttpRoute.GetRouteData(字符串 virtualPathRoot, HttpRequestMessage 请求)+430
AttributeRouting.Web.Http.Framework.HttpAttributeRoute.GetRouteData(字符串 virtualPathRoot,HttpRequestMessage 请求)+250
System.Web.Http.WebHost.Routing.HttpWebRoute.GetRouteData(HttpContextBase httpContext) +191
System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) +233
System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase 上下文)+60
System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(对象 发件人,EventArgs e) +82
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69
我找到了描述我的问题的以下线程:https://github.com/mccalltd/AttributeRouting/issues/191
不幸的是,这个修复似乎没有帮助:https://github.com/mccalltd/AttributeRouting/issues/191#issuecomment-13814025
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: invalidoperationexception attributerouting