使用asp.net属性路由的根路径的默认路由

gza*_*zak 12 asp.net-mvc self-hosting asp.net-mvc-routing owin visual-studio-2013

我正在使用ASP.NET 5 RC中的属性路由,包含在Visual Studio 2013 RC版本中.

我想通过根路径,/导致规范/Home/Index路径,但我找不到一种方法只使用属性路由来做到这一点.是否有可能,如果不是,如果我也使用OWIN SelfHost,我将如何做?换句话说,我HttpConfigurationWebApp.Start<T>方法中手动设置我自己的类(其中T有一个Configure(IAppBuilder)在启动时调用的方法)而不是通过该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" }
);
Run Code Online (Sandbox Code Playgroud)

下面的第二次尝试看起来有点可疑,因为我的HttpConfiguration对象与静态RouteTable.Routes对象的关系并不清楚:

// normal Web API attribute routes
config.MapHttpAttributeRoutes();

RouteTable.Routes.MapRoute(
   name: "DefaultWeb",
   url: "{controller}/{action}",
   defaults: new { controller = "Home", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)

Jay*_*ass 28

您可以像这样设置应用程序的默认路由:

    [Route("~/", Name = "default")]
    public ActionResult Index() {
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

  • 我也得到了模棱两可的错误,并且模糊性指向了同一个控制器.我删除了上面显示的"[Route]",现在它可以工作了. (2认同)