4

我們使用區域來編寫ASP.NET MVC3中用AttributeRouting編寫的API來定義我們的路由。使用AttributeRouting隱藏URL中的區域

現在我們有一個「v1」區域,它是我們的第一個API版本。當我們到達V2後,我們將複製v1並進行修改。

我想爲網站使用相同的版本控制,並且我不想在路由中使用/ v1。

我的問題是,我怎麼藏在我的網址的區域,這樣我可以調用

mywebsite.com/Users/1 

,而不是

mywebsite.com/v1/Users/1 

以下是我在我的控制器

[RouteArea("/")] 
    public class HomeController : Controller 
    { 
     // 
     // GET: /v1/Home/ 
     [GET("")] 
     public ActionResult Index() 
     { 
      return View(); 
     } 

    } 

以下是我在嘗試訪問mywebsite.com/時獲得的信息/

error

在此先感謝!

回答

4

這樣做:

[RouteArea("AreaName", AreaUrl = "")] 

默認情況下,區域與區域名稱前綴。 AreaUrl屬性讓你覆蓋它。我會在這裏更新維基:https://github.com/mccalltd/AttributeRouting/wiki/Areas

對不起,我很困惑!

此外,您不應該在通過AR定義的任何網址的開頭或結尾添加正斜槓。您的堆棧跟蹤轉儲強調了MVC正在名爲「/」的文件夾中查找視圖。如果你想要一個空的網址,只需使用「」。