gpt4 book ai didi

c# - 升级到WebApi.Core报错-直接路由不能使用参数 'controller'

转载 作者:可可西里 更新时间:2023-11-01 08:58:06 25 4
gpt4 key购买 nike

由于对另一个项目的依赖,我被迫将 Microsoft.AspNet.WebApi.Client 和 Microsoft.AspNet.WebApi.Core 从版本 5.0.0.0 升级到 5.2.0.0,现在我的 API 抛出错误“A直接路由不能使用参数“controller”。指定文字路径代替此参数以创建到 Controller 的路由。

调用时在 Global.asax.cs 中初始化 HttpConfiguration 时抛出错误

GlobalConfiguration.Configure(WebApiConfig.Register);

这似乎是导致问题的核心库。当我只更新客户端时,它没有抛出错误。

我注意到,如果我注释掉项目中所有 Controller 的路由属性,它就不会再抛出错误,例如

[Route("api/storage/series/{series}/documentId/{documentId}")]

但是,由于依赖应用程序的数量,删除这些并不是一个可行的解决方案。

在 Google 上/Binging 错误中,有用的信息几乎为零。任何人都可以提供有关此错误的任何见解并建议我如何解决它吗?

最佳答案

解决了这个问题,或者更确切地说,我的同事做到了。如果您查看错误,现在看起来很明显。这是由于我们的某些 Controller (不是我在问题中使用的示例)上的路由属性包含 {controller}。例如

[Route("api/{controller}/editGroups")]

将其更改为使用硬编码的 Controller 名称(如下所示)解决了该问题。

[Route("api/documents/editGroups")]

关于c# - 升级到WebApi.Core报错-直接路由不能使用参数 'controller',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31960796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com