我们正在使用Area来对用ASP.NET MVC3编写的应用程序接口进行版本控制,并使用AttributeRouting来定义我们的路由。
现在我们有一个"v1“区域,这是我们的第一个版本的API。当我们到达v2时,我们将复制v1并进行修改。
我想为一个网站使用相同的版本控制,并且我不想在路由中使用/v1。
我的问题是,如何隐藏URL中的区域,以便可以调用
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/时得到的结果。

提前感谢!
发布于 2012-04-19 06:39:39
执行以下操作:
[RouteArea("AreaName", AreaUrl = "")]默认情况下,区域以区域名称作为前缀。AreaUrl属性允许您覆盖该属性。我将在此处更新维基:https://github.com/mccalltd/AttributeRouting/wiki/Areas
很抱歉给您带来了混乱!
此外,您不应该在通过AR定义的任何urls的开头或结尾添加正斜杠。堆栈跟踪转储突出显示MVC正在名为"/“的文件夹中查找视图。如果你想要一个空的url,只要使用"“即可。
https://stackoverflow.com/questions/10215144
复制相似问题