2017-06-29 57 views
1

我有一個ASP.NET Web API控制器。我想針對不同的環境使用不同的網址結構,我該怎麼做?我們可以在Web.Config中定義路線嗎?我們可以針對不同的環境有不同的路線嗎?

比如在開發我想主機的/ dev/API/controllername和生產我想主機/ API/controllername

我怎樣才能做到這一點?

回答

0

我認爲你可以在web.config中添加一個更多的鍵來指定環境。 例如:

<add key="Environment" value="Development" /> 

然後,在你的Application_Start,你讀的web.config此配置的價值和註冊相應的路由。

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"); 
      } 

    } 

爲了您參考:https://msdn.microsoft.com/en-us/library/cc668201.aspx

+0

這是一件好事,但我想這樣做的屬性路由 – fahadash

相關問題