I'm using attribute routing from ASP.NET 5 RC, included in the Visual Studio 2013 RC release.
I'd like for the root path, /
, to lead to the canonical /Home/Index
path, but I can't find a way to do this with just attribute routes. Is it possible, and if not, how would I do it if I'm also using OWIN SelfHost? In other words, I'm setting up my own HttpConfiguration
class manually in the WebApp.Start<T>
method (where T
has a Configure(IAppBuilder)
method invoked at startup) and not going through the RouteTable.Routes
object. Or should I be going through the RouteTable.Routes
object? I haven't had much luck with that when I tried it...
EDIT: Here's what I've tried so far:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultWeb",
routeTemplate: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
The second try below looks a little dubious, since it's not clear how my HttpConfiguration
object is related to the static RouteTable.Routes
object:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
RouteTable.Routes.MapRoute(
name: "DefaultWeb",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
You can set the default route for the app like this:
[Route("~/", Name = "default")]
public ActionResult Index() {
return View();
}