为什么这个MVC路由不起作用?

Tom*_*Tom 1 c# model-view-controller asp.net-mvc asp.net-mvc-routing

        //standard routing
        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", 
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
        );

        //the custom route I added
        routes.Add(
           new Route("Fish/Image",

               new ImageHandlerRouteHandler()
           )
        );
Run Code Online (Sandbox Code Playgroud)

我认为这会使用我,ImageHandlerRouteHandler但我得到的Fish/Image只是404.

Ufu*_*arı 8

在默认路由之前添加路由.

routes.Add(
           new Route("Fish/Image",

               new ImageHandlerRouteHandler()
           )
        );

//standard routing
        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", 
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
        );
Run Code Online (Sandbox Code Playgroud)

请求映射到路由表中的第一个匹配路由.由于默认路由没有限制,因此在自定义路由之前调用它.