Asp.net web api WebAPI 2.1中自定义路由约束的更改

Asp.net web api WebAPI 2.1中自定义路由约束的更改,asp.net-web-api,asp.net-web-api-routing,asp.net-web-api2,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”的类型 文档中没有提到这个问题 以下

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

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

文档中没有提到这个问题

以下帖子旨在分享知识和交换意见


我以前的实现是错误的吗?2.1中的新实现中有哪些更改不再支持更通用的接口?

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