Asp.net webapi排除多次匹配的路由

时间:2012-10-04 14:16:10

标签: c# asp.net-mvc-routing asp.net-web-api

我在webapi中设置了以下路线..

        //Route for getting the api access token
        config.Routes.MapHttpRoute(
            name: "AccessTokenRoute",
            routeTemplate: "api/access-token",
            defaults: new { controller = "AccessToken" }
        );

        //Default route for the api
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

我有一个名为AccessTokenController的控制器。当一个请求带有url / api / access-token时,一切正常。它击中了适当的控制器。

我的问题是,如果请求来自/ api / AccessToken,它也会匹配默认路由。我想阻止路由匹配,如果他们以这种方式访问​​它。路由系统中是否存在执行此操作的任何内容?

1 个答案:

答案 0 :(得分:1)

如果控制器是AccessToken,则向DefaultApi路由添加约束,以限制访问。