Web API 2.1中自定义路由约束的更改

时间:2014-01-30 10:41:30

标签: asp.net-web-api asp.net-web-api-routing asp.net-web-api2

由于我将WebAPI 2应用更新为WebAPI 2.1,因此路由停止工作。我有几个自定义路由约束实现为GuidConstraint。 我收到的例外如下:

System.InvalidOperationException:路由模板“{guid} / {language} / {controller} / {id}”的路由上的约束条目“guid”必须具有字符串值或者是实现“System”的类型.Web.Http.Routing.IHttpRouteConstraint”。

文档中未提及此问题。

以下帖子的目的是进行知识共享和意见交换。

我以前的实施错了吗? 2.1中新实现的哪些变化不再支持更通用的接口?

1 个答案:

答案 0 :(得分:0)

解决方案是在自定义路由约束类上实现IHttpRouteConstraint而不是IRouteConstraint。大多数情况下的逻辑将保持不变。