B-L*_*Lat 10 c# asp.net-mvc-routing asp.net-web-api
由于依赖于另一个项目,我被迫将Microsoft.AspNet.WebApi.Client和Microsoft.AspNet.WebApi.Core从5.0.0.0版升级到5.2.0.0现在我的API抛出错误"直接路由不能使用参数'controller'.指定一个文字路径代替这个参数来创建一个到控制器的路径".
调用时,在Global.asax.cs中初始化HttpConfiguration时会抛出错误
GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)
它似乎是导致问题的核心库.当我更新客户端时,它没有抛出错误.
我注意到如果我从项目中的所有控制器注释掉路由属性,那么它不再抛出错误,例如
[Route("api/storage/series/{series}/documentId/{documentId}")]
Run Code Online (Sandbox Code Playgroud)
然而,由于依赖应用程序的数量,删除这些不是可行的解决方案.
在谷歌/ Binging上的错误,其中几乎没有任何有用的信息.任何人都可以提供有关此错误的任何见解,并建议我如何修复它?
B-L*_*Lat 20
想出这个,或者更确切地说是我的同事.如果你看一下这个错误,现在看来很明显.这是由于我们的一些控制器上的路由属性(只是我在问题中使用的示例)包含{controller}.例如
[Route("api/{controller}/editGroups")]
Run Code Online (Sandbox Code Playgroud)
更改此选项以使用硬编码控制器名称,如下所示,修复了问题.
[Route("api/documents/editGroups")]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4430 次 |
| 最近记录: |