从带有 AttributeRouting.net 的 MVC4 升级到带有 MVC5 的属性路由的 MVC5 后,我似乎无法让默认路由正常工作,因此http://server
默认为http://server/home/index
. 直接浏览/home/
或/home/index
工作正常。
对于路由配置,我有这个:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
HomeController 声明如下所示:
// Controller
[RoutePrefix("home")]
public class HomeController : MvcControllerBase
....
// Action
[HttpGet, Route, Route("index")]
public ActionResult Index()
{
.....
我不确定在哪里可以检查。我已经注释掉了 Global 中的所有内容并禁用了所有 WebActivator 激活的项目。
和想法?响应是 404,没有抛出异常。