“DefaultApi”命名的路线已经路线集合 [英] A route named 'DefaultApi' is already in the route collection

查看:417
本文介绍了“DefaultApi”命名的路线已经路线集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可问题似乎重复但这是略有不同。
在SO所有其他问题,我已经注意到,他们已经注册了多个路线。但在我的情况下,我只有一个途径。

我创建asp.net的WebAPI(框架4.5),并在的RegisterRoutes只有一个途径()方法 -

 公共静态无效的RegisterRoutes(RouteCollection路线)
    {
        routes.IgnoreRoute({}资源个.axd / {*} PATHINFO);        routes.MapRoute(
            名称:DefaultApi
            网址:休息/ {}控制器/(编号),
            默认:新{ID = UrlParameter.Optional}
        );    }

那为什么抛出错误?

 名为DefaultApi路由已经路线收藏。路线名称必须是唯一的。参数名:名称


解决方案

好吧,我解决它基于user3038092回复。相反的路线集合中添加它,我加入它HttpConfiguration

  config.Routes.MapHttpRoute(
            名称:DefaultApi
            routeTemplate:休​​息/ {}控制器/(编号),
            默认:新{ID = RouteParameter.Optional}
        );

和它的工作。

This question may seems duplicate but this is slightly different. In all other question in SO I had noticed that they have multiple routes registered. but in my case I have just one route.

I am creating asp.net webapi (framework 4.5) and have just one route in RegisterRoutes() method -

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "DefaultApi",
            url: "rest/{controller}/{id}",
            defaults: new { id = UrlParameter.Optional }
        );

    }

Then why is it throwing error?

A route named 'DefaultApi' is already in the route collection. Route names must be unique. Parameter name: name

解决方案

Fine, I resolved it based on the reply by user3038092. Instead of adding it in the route collection, I added it in HttpConfiguration

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "rest/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

And it worked.

这篇关于“DefaultApi”命名的路线已经路线集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆