我使用的是Visual Studio 2013 RC版本中包含的ASP.NET 5 RC的属性路由。使用asp.net属性路由的根路径的默认路由
我想要的根路径/
,导致规范/Home/Index
路径,但我找不到一种方法来做到这一点只是属性路由。是否有可能,如果不是,如果我还使用OWIN SelfHost,我该如何做?换句话说,我在WebApp.Start<T>
方法(其中T
在启动时调用Configure(IAppBuilder)
方法)手动设置我自己的HttpConfiguration
类,并且不通过RouteTable.Routes
对象。或者我应该通过RouteTable.Routes
对象?我没有多少运气与当我试图...
编辑:这是我到目前为止已经试过:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultWeb",
routeTemplate: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
第二试试下面看起来有点可疑,因为它不是明确我的HttpConfiguration
对象是如何与静态RouteTable.Routes
对象:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
RouteTable.Routes.MapRoute(
name: "DefaultWeb",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
我得到了“当前请求是采用以下操作方法之间的暧昧:” ......尝试这种时候。我将[RoutePrefix(“home”)]添加到我的控制器定义中,并将[Route]更改为[Route(“index”)]以消除歧义。 /(默认)和/ home/index都可以工作。 –
我也得到了模棱两可的错误,并且模糊性指向了同一个控制器。我删除了上面显示的“[Route]”,现在它可以工作。 – HK1