这个问题可能看起来重复,但这略有不同。
在所有其他问题中,我注意到他们注册了多条路线。但就我而言,我只有一条路线。
我正在创建 asp.net webapi (framework 4.5) 并且在 RegisterRoutes() 方法中只有一条路由 -
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "DefaultApi",
url: "rest/{controller}/{id}",
defaults: new { id = UrlParameter.Optional }
);
}
那为什么会抛出错误呢?
A route named 'DefaultApi' is already in the route collection. Route names must be unique. Parameter name: name
我在添加路线时遇到了类似的问题DefaultApi
。尽管我的确切“附加详细信息”消息ArgumentException
堆栈跟踪是:
A route named 'MS_attributerouteWebApi' is already in the route collection.
Route names must be unique.
我当然确保我添加了DefaultApi
路线只有一次,但最后注意到Global.asax
's Application_Start
我调用的方法WebApiConfig.Register(..)
两次,尽管以下面的方式 - 不是立即显而易见的 - 方式:
WebApiConfig.Register(GlobalConfiguration.Configuration);
GlobalConfiguration.Configure(WebApiConfig.Register);
又一起严重的“抄袭者”事件!我只是删除了WebApiConfig.Register(..)
线,这解决了我的问题。
(我使用的是WEB API 2.0/.NET 5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)