Asp.net mvc 我们可以为不同的环境提供不同的路线吗?

Asp.net mvc 我们可以为不同的环境提供不同的路线吗?,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我有一个ASP.NET Web API控制器。我想为不同的环境提供不同的URL结构,如何做到这一点?我们可以在Web.Config中定义路由吗 例如,在dev中,我需要host/dev/api/controllername,而在生产中,我需要host/api/controllername 如何才能做到这一点?我认为您可以在web.config中再添加一个键来指定环境。 例如: <add key="Environment" value="Development" /> 供参考:

我有一个ASP.NET Web API控制器。我想为不同的环境提供不同的URL结构,如何做到这一点?我们可以在Web.Config中定义路由吗

例如,在dev中,我需要host/dev/api/controllername,而在生产中,我需要host/api/controllername


如何才能做到这一点?

我认为您可以在web.config中再添加一个键来指定环境。 例如:

<add key="Environment" value="Development" />
供参考:

    protected void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
            var environment = ConfigurationManager.AppSettings["Environment"].ToString();

            if (environment.Equals("Development"))
            {
                  routes.MapPageRoute("", "dev/{action}/{categoryName}","~/categoriespage.aspx");
            }

    }